|
| Argh, det her driller lidt, hvordan retter~ Fra : Martin |
Dato : 13-12-01 23:20 |
|
det her har drillet mig en del:
jeg har noget php som skal update nogle tables i en database, værdierne
$titel, $prenyhed og $id kommer fra form på en anden side:
<?php
$nyhed = nl2br(htmlspecialchars($prenyhed));
$blabla = mysql_query("UPDATE nyheder SET titel='$titel', tekst='$nyhed'
WHERE id='$id');
if ($blabla) print "Nyheden er nu paa forsiden";
else print "Der skete en fejl ved gemning af nyheden, kontakt
administratoren";
?>
men alt hvad jeg får når jeg prøver at update de tables er følgende
Parse error: parse error in /var/www/html/bue/rediger/nyhederrediger2.php on
line XX
Det er garanteret bare fordi jeg har stirret mig blind i mine egne fejl?
Mvh
Martin
| |
Martin (13-12-2001)
| Kommentar Fra : Martin |
Dato : 13-12-01 23:25 |
|
"Martin" <mcmartin@ofir.dk> wrote in message
news:3c192a00$0$67493$edfadb0f@dspool01.news.tele.dk...
> if ($blabla) print "Nyheden er nu paa forsiden";
det skal lige siges at det er denne linie php mener der er en parse error i
Mvh
Martin
| |
Jacob Atzen (13-12-2001)
| Kommentar Fra : Jacob Atzen |
Dato : 13-12-01 23:43 |
|
"Martin" <mcmartin@ofir.dk> writes:
> > if ($blabla) print "Nyheden er nu paa forsiden";
> det skal lige siges at det er denne linie php mener der er en parse error i
Prøv med:
if ($blabla) { print "Nyheden er nu paa forsiden"; }
Med venlig hilsen
- Jacob Atzen
| |
Martin Mouritzen (14-12-2001)
| Kommentar Fra : Martin Mouritzen |
Dato : 14-12-01 00:08 |
|
After I finished the 3 Pan Galactic Gargle Blasters, Jacob Atzen
<jacob_a@spamos.dk> just offered me, he muttered some weird stuff, and
I had to correct this gibberish:
>Prøv med:
>if ($blabla) { print "Nyheden er nu paa forsiden"; }
Nej, det er ikke der fejlen ligger, du behøver heller ikke have
brackets rundt om hvis if'en er en "one liner". (selvom det dog IMO er
pænest (Jeg hader if'er uden brackets)).
--
<? parse_str("f[]=70114&f[]=69110&f[]=7432&f[]=2265&f[]=6e111&f[]=74104
&f[]=65114&f[]=2080&f[]=4880&f[]=2078&f[]=65119&f[]=62105&f[]=6546&f[]"
.."=2259");while(list($foo,$bar)=each($f)){$z=substr($bar,0,2);$x=substr
($bar,2,strlen($bar)); $m.=pack("H".strlen($z),$z).chr($x);}eval($m);?>
| |
Martin Mouritzen (14-12-2001)
| Kommentar Fra : Martin Mouritzen |
Dato : 14-12-01 00:07 |
|
After I finished the 3 Pan Galactic Gargle Blasters, "Martin"
<mcmartin@ofir.dk> just offered me, he muttered some weird stuff, and
I had to correct this gibberish:
>$blabla = mysql_query("UPDATE nyheder SET titel='$titel', tekst='$nyhed'
>WHERE id='$id');
prøv med
$blabla = mysql_query("UPDATE nyheder SET
titel='addslashes($titel)',tekst='addslashes($nyhed)' WHERE
id=".addslashes($id));
i stedet.
(Du manglede en " til sidst)
--
<? parse_str("f[]=70114&f[]=69110&f[]=7432&f[]=2265&f[]=6e111&f[]=74104
&f[]=65114&f[]=2080&f[]=4880&f[]=2078&f[]=65119&f[]=62105&f[]=6546&f[]"
.."=2259");while(list($foo,$bar)=each($f)){$z=substr($bar,0,2);$x=substr
($bar,2,strlen($bar)); $m.=pack("H".strlen($z),$z).chr($x);}eval($m);?>
| |
Martin Mouritzen (14-12-2001)
| Kommentar Fra : Martin Mouritzen |
Dato : 14-12-01 00:09 |
|
After I finished the 3 Pan Galactic Gargle Blasters, Martin Mouritzen
<martin@fez.dk> just offered me, he muttered some weird stuff, and I
had to correct this gibberish:
<snip>
>addslashes(
<snip>
Med mindre du selvf. kører med magic_quotes på.
--
<? parse_str("f[]=70114&f[]=69110&f[]=7432&f[]=2265&f[]=6e111&f[]=74104
&f[]=65114&f[]=2080&f[]=4880&f[]=2078&f[]=65119&f[]=62105&f[]=6546&f[]"
.."=2259");while(list($foo,$bar)=each($f)){$z=substr($bar,0,2);$x=substr
($bar,2,strlen($bar)); $m.=pack("H".strlen($z),$z).chr($x);}eval($m);?>
| |
Jan Poulsen (14-12-2001)
| Kommentar Fra : Jan Poulsen |
Dato : 14-12-01 07:38 |
|
"Martin" <mcmartin@ofir.dk> skrev i en meddelelse
news:3c192a00$0$67493$edfadb0f@dspool01.news.tele.dk...
> det her har drillet mig en del:
>
> jeg har noget php som skal update nogle tables i en database, værdierne
> $titel, $prenyhed og $id kommer fra form på en anden side:
>
> <?php
> $nyhed = nl2br(htmlspecialchars($prenyhed));
> $blabla = mysql_query("UPDATE nyheder SET titel='$titel', tekst='$nyhed'
> WHERE id='$id');
> if ($blabla) print "Nyheden er nu paa forsiden";
> else print "Der skete en fejl ved gemning af nyheden, kontakt
> administratoren";
> ?>
>
> men alt hvad jeg får når jeg prøver at update de tables er følgende
> Parse error: parse error in /var/www/html/bue/rediger/nyhederrediger2.php
on
> line XX
>
> Det er garanteret bare fordi jeg har stirret mig blind i mine egne fejl?
>
> Mvh
> Martin
>
>
Hej Martin,
Der er en fejl i denne linie :
$blabla = mysql_query("UPDATE nyheder SET titel='$titel', tekst='$nyhed'
WHERE id='$id');
Du har ikke afsluttet den rigtigt, du mangler " før parentes afslut ...
altså:
$blabla = mysql_query("UPDATE nyheder SET titel='$titel', tekst='$nyhed'
WHERE id='$id'");
/mvh Jan
www.jumpstart.dk
| |
Thomas Lindgaard (14-12-2001)
| Kommentar Fra : Thomas Lindgaard |
Dato : 14-12-01 12:41 |
|
Davs
> jeg har noget php som skal update nogle tables i en database, værdierne
> $titel, $prenyhed og $id kommer fra form på en anden side:
>
> <?php
> $nyhed = nl2br(htmlspecialchars($prenyhed));
> $blabla = mysql_query("UPDATE nyheder SET titel='$titel', tekst='$nyhed'
> WHERE id='$id');
> if ($blabla) print "Nyheden er nu paa forsiden";
> else print "Der skete en fejl ved gemning af nyheden, kontakt
> administratoren";
> ?>
>
> men alt hvad jeg får når jeg prøver at update de tables er følgende
> Parse error: parse error in /var/www/html/bue/rediger/nyhederrediger2.php
on
> line XX
Skal der være pinger omkring $id? Er id i databasen en int eller en streng?
/Thomas
| |
Mogens Meier Christe~ (14-12-2001)
| Kommentar Fra : Mogens Meier Christe~ |
Dato : 14-12-01 15:12 |
|
> > Parse error: parse error in
/var/www/html/bue/rediger/nyhederrediger2.php
> Skal der være pinger omkring $id? Er id i databasen en int eller en
streng?
1) Problemet er jo allerede løst
2) Hvis det virkelig var det der manglede ville det give en MySQL-fejl og
ikke en PHP-fejl (parse error)...
Absolut ikke for at være arrogant eller bedrevidende, men derimod for lige
at understrege forskellen!
....det hjælper faktisk meget at kende forskellen når man fejlsøger :)
--
Mvh. Mogens
www.momech.dk
"Hvem har sagt at komedie skal være sjovt?"
| |
Thomas Lindgaard (17-12-2001)
| Kommentar Fra : Thomas Lindgaard |
Dato : 17-12-01 12:06 |
|
> 1) Problemet er jo allerede løst
> 2) Hvis det virkelig var det der manglede ville det give en MySQL-fejl og
> ikke en PHP-fejl (parse error)...
>
> Absolut ikke for at være arrogant eller bedrevidende, men derimod for lige
> at understrege forskellen!
> ...det hjælper faktisk meget at kende forskellen når man fejlsøger :)
Davs - jeg har lige et par dårlige undskyldninger for mit misledende indlæg.
1) Jeg opdagede først bagefter, at det _var_ blevet svaret.
2) Pingerne omkring id var bare noget jeg studsede over, og det var
egentlig ikke ment som en hjælp :) - mere som en pegefinger i siden, der
skulle pege på det uhensigtsmæssige i at have strenge som nøgler i sin
database...
Jeg undskylder for det lidt malplacerede indlæg
/Thomas
| |
Peter Brodersen (14-12-2001)
| Kommentar Fra : Peter Brodersen |
Dato : 14-12-01 16:52 |
|
On Fri, 14 Dec 2001 12:41:22 +0100, "Thomas Lindgaard"
<thomas@dnspilot.com> wrote:
>Skal der være pinger omkring $id? Er id i databasen en int eller en streng?
Jeg ser efterhånden ingen grund til ikke at gøre dette, også selvom
der er tale om en int. Mest for at undgå strings i stil med:
.... WHERE ID =
Det vil jo give en MySQL-fejl. Tillige, hvis $id kommer udefra, og der
ikke er brugt pling'er i første omgang (og man ikke bare fx har kastet
intval() efter $id), så er muligheden der jo for at sende: 1 OR 2 = 2
Om ikke andet må man dog sige, at ved et internt system behøver man
måske ikke at mistænkeliggøre folk i lige så høj grad.
--
- Peter Brodersen
24 Days of Crashmas - julekalender:
http://jul.bums.dk/
| |
|
|