Avatar billede atlanta Nybegynder
12. februar 2003 - 01:26 Der er 13 kommentarer og
1 løsning

php glemmer at printe " ??

hmm nu er jeg ved at værer pænt pist på php.

dette er min kode, jeg har sefølgelig noget database kode længere oppe:

$buy = "onclick=\"java script:buy(".$row["id"].", ".$row["pris"].", '".addslashes($row["vare"])."')\"";
print $buy."<br>";
print "<td bgcolor=\"#EEEEEE\" valign=\"top\"><input type=\"submit\" value=\" Køb \" ".$buy."></td>
        </tr>";

koden er skilt pga debugging jeg ved den kunne samles.
anyhow dette printer ved print $buy; denne html kode:
onclick="java script:buy(3, 54.00, '10 meter 10/100 Mb/s \"straight\"')"

(nu har jeg bare taget 1 ud af de 3 vare der på sited ud)
som det er nu er der ingen problemer, men når jeg printer $buy inde i min <input type="submit" så går det helt galt:

<td bgcolor="#EEEEEE" valign="top"><input type="submit" value=" Køb " onclick="java script:buy(3, 54.00, '10 meter 10/100 Mb/s \"straight\')></td>

hvis man nu kikkere nærmere på det som $buy skulle have printed er det

onclick="java script:buy(3, 54.00, '10 meter 10/100 Mb/s \"straight\¤')

hvis man så sammenligner det med det jeg printede lige før så kan man se at der mangler et " til sidst (der hvor jeg har lavet er ¤), anden gang den printes..

så sider jeg bare og spørger mig selv.. hvorfor fanden gør den det? whyy.. whyyy? *gråd* *gråd*

i kan selv kikke efter på http://62.61.138.108/ct/index.php?varegruppe=0
Avatar billede schaefner Juniormester
12. februar 2003 - 01:32 #1
Prøv lige:
<?
$vare = addslashes($row[vare]);
$buy = "onclick=\"java script:buy($row[id],$row[pris],$vare))\"";
print "$buy<br>";
print "<td bgcolor=\"#EEEEEE\" valign=\"top\"><input type=\"submit\" value=\"Køb\" $buy></td>";
print "</tr>";
?>
Avatar billede sthen Nybegynder
12. februar 2003 - 01:36 #2
Jeg kan jo ikke lade være med at spørge hvorfor sitet melder scriptfejl når det loades (du ved - det lille gule "A" nede i venstre hjørne)
Avatar billede atlanta Nybegynder
12. februar 2003 - 01:39 #3
$vare = addslashes($row[vare]);
$buy = "onclick=\"java script:buy($row[id],$row[pris],$vare))\"";
print $buy."<br>";
print "<td bgcolor=\"#EEEEEE\" valign=\"top\"><input type=\"submit\" value=\" Køb \" ".$buy."></td>
</tr>";

er den nye php kode og det giver:

onclick="java script:buy(3,54.00,10 meter 10/100 Mb/s \"straight\"))"
og
<td bgcolor="#EEEEEE" valign="top"><input type="submit" value=" Køb " onclick="java script:buy(3,54.00,10 meter 10/100 Mb/s \"straight\))></td>

og hvis man så fjerner den ekstra ) du har tilføjet kommer den jo så sefølgelig ikke frem :D men stadig samme prob :/
Avatar billede schaefner Juniormester
12. februar 2003 - 01:40 #4
Hov der var vidst et ) for meget:
<?
$vare = addslashes($row[vare]);
$buy = "onclick=\"java script:buy($row[id],$row[pris],$vare)";
print "$buy<br>";
print "<td bgcolor=\"#EEEEEE\" valign=\"top\"><input type=\"submit\" value=\"Køb\" $buy\"></td>";
print "</tr>";
?>
Avatar billede schaefner Juniormester
12. februar 2003 - 01:42 #5
prøv den jeg lige postede
Avatar billede atlanta Nybegynder
12. februar 2003 - 01:48 #6
hmm det her er ved at blive strange.. nu da sthen kom med den kommentar slog det mig at prøve at kikke lidt på siden med ie i stedet for phoenix. og ie ser ud til at lave den " som den skal være men den kommer med den script fejl :/
Avatar billede schaefner Juniormester
12. februar 2003 - 01:55 #7
Hvad med denne her:
<?
$vare = addslashes($row[vare]);
$buy = "onclick=\"java script:buy('$row[id]','$row[pris]','$vare')";
print "$buy\"<br>";
print "<td bgcolor=\"#EEEEEE\" valign=\"top\"><input type=\"submit\" value=\"Køb\" $buy\"></td>";
print "</tr>";
?>
Avatar billede schaefner Juniormester
12. februar 2003 - 02:01 #8
Virker den som den skal?
Avatar billede atlanta Nybegynder
12. februar 2003 - 02:03 #9
nej men jeg tror jeg er ved at finde ud af noget.. det gav lidt bonus at du lige kom på at prøve at se det in IE..
Avatar billede schaefner Juniormester
12. februar 2003 - 02:05 #10
Jeg kan ikke se nogen fejl i den kode den generer:
onclick="buy('3', '54.00', '10 meter 10/100 Mb/s \"straight\"')">
?
Avatar billede atlanta Nybegynder
12. februar 2003 - 02:08 #11
kan jeg heller ikke, men phoenix har jo egentlig den seje js consol kom jeg da lige i tanke om. og den siger:

Error: unterminated string literal
Source Code:
java script:buy(3,54.00,'10 meter 10/100 Mb/s \

ligesom den ikke esc de " ordenligt :/
Avatar billede atlanta Nybegynder
12. februar 2003 - 02:12 #12
hmm og jeg tror jeg har fundet fejlen :/ .. jeg hører i min øresnegl at jeg ikke kan esc " ed \ når det teknisk set stadig er html kode :/.. det skal lige prøves a
Avatar billede atlanta Nybegynder
12. februar 2003 - 02:19 #13
hmm hvor nedtur er det :/..
hvis man nu bare bruger &quot; i stedet ja så virker det jo fint..

$buy = "onclick=\"buy('$row[id]', '$row[pris]', '5meter 10/100mb/s &quot;Straight&quot;')\"";

og jeg har brugt 1½ dag på at finde ud af sådan noget crap.. samt sidet ved siden af en js nørd.. som da egentlig lige kom i tanke om det.. tror jeg kommer til at slå ham lige om lidt... anyway .. mange tak for forslagene..

sthen hvis du lige laver et svar så får du lige lidt points da du egentlig var den der førte mig på rette spor
Avatar billede olebole Juniormester
12. februar 2003 - 02:39 #14
<ole>

Et lille 'PS' til noget, du måske selv har fundet ud af (det ser i hvert fald ud til, du har rettet det):
Du skal aldrig bruge 'java script:' i en event-handler - der har det ikke noget at gøre  ;o)

/mvh
</bole>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester