Garanti Skrevet 24. februar 2008 Del Skrevet 24. februar 2008 (endret) Dette er nå gjort om til en hjelpetråd, først og fremst for min del, der jeg stiller spørsmål jeg som nybegynner innenfor PHP støter på. Tidligere førstepost Hei, noen som kan hjelpe meg med dette scriptet? Det er brukeren magikern som har laget det, men jeg klarer ikke å få det til å funke... <table> <tr bgcolor="<?php echo ($i%2)?"#ffffff":"#c0c0c0";?>"><td>her slenger du inn noe gøy</td></tr> <tr bgcolor="<?php echo ($i%2)?"#ffffff":"#c0c0c0";?>"><td>her slenger du inn noe gøy</td></tr> </table> Endret 26. februar 2008 av Garanti Lenke til kommentar
Gjest Slettet+6132 Skrevet 24. februar 2008 Del Skrevet 24. februar 2008 Alt mellom <table> og </table> må spyttes ut med en loop av et slag: <table> <?php for($i = 0; $i <= 50; $i++) { $color = ($i%2) ? '#ffffff' : '#c0c0c0'; echo "<tr bgcolor=\"{$color}\"><td>{$i}</td></tr>\n"; } ?> </table> Raskt sammensatt, men du forstår nok tegninga Lenke til kommentar
Garanti Skrevet 24. februar 2008 Forfatter Del Skrevet 24. februar 2008 Tusen takk! Lenke til kommentar
loathsome Skrevet 24. februar 2008 Del Skrevet 24. februar 2008 Tips: Du sparer en haug med ressurser om du slenger output i en "cache variable"; <?php for($i = 0; $i <= 50; $i++) { $color = ($i%2) ? '#ffffff' : '#c0c0c0'; $Output .= "<tr bgcolor=\"{$color}\"><td>{$i}</td></tr>\n"; } echo '<table>'.$Output.'</table>'; ?> Lenke til kommentar
Garanti Skrevet 24. februar 2008 Forfatter Del Skrevet 24. februar 2008 Itte dumt Lenke til kommentar
jeg_lyver_mye Skrevet 25. februar 2008 Del Skrevet 25. februar 2008 Neeh, ikke hvis han bruker ob_start();. Lenke til kommentar
Garanti Skrevet 25. februar 2008 Forfatter Del Skrevet 25. februar 2008 (endret) Trenger hjelp igjen med en else/if-funksjon; se nedenforstående kode. Har en checkbox (trunkate), som skal overkjøre eksisterende tekst dersom den er utsjekket. Det funker, men filen blir trunkert/overskrevet uansett. Eneste forskjellen på else og if er åpningsattributten for filen. $rawnews = $_POST['news']; $rawauthor = $_POST['author']; $trunkate = $_POST['trunkate']; $news = $rawnews; $author = $rawauthor; if($trunkate == true){ $file = "news.txt"; $fh = fopen($file, 'w'); fwrite($fh, $news); fwrite($fh, $author); fclose($fh); } else{ $file = "news.txt"; $fh = fopen($file, 'a'); fwrite($fh, $news); fwrite($fh, $author); fclose($fh); } EDIT: Funker nå. Dersom du ser feil eller forbedringspotensiale i koden, si i fra! Endret 25. februar 2008 av Garanti Lenke til kommentar
j-- Skrevet 25. februar 2008 Del Skrevet 25. februar 2008 (endret) Trenger hjelp igjen med en else/if-funksjon; se nedenforstående kode.Har en checkbox (trunkate), som skal overkjøre eksisterende tekst dersom den er utsjekket. Det funker, men filen blir trunkert/overskrevet uansett. Eneste forskjellen på else og if er åpningsattributten for filen. *kode* Noe alá dette burde vel fungere # sjekk _alltid_ input for slemme ting. $file = "news.txt"; if(isset($_POST['trunkate']) == true){ $fh = fopen($file, 'w'); fwrite($fh, $_POST['news']); fwrite($fh, $_POST['author']); fclose($fh); echo $_POST['author'] . ' skrev følgende til ' . $file . '<hr>' . $_POST['news']; }else{ # dette eksekveres om ikke $_POST['trunkate'] er satt. echo 'truncate var ikke satt, og derfor ble det ikke skrevet noe info til ' . $news; } Du skulle ikke vurdert file_put_contents(), da? Den har litt enklere syntaks bl.a, og gir mindre og finere kode. Endret 25. februar 2008 av clvn Lenke til kommentar
Garanti Skrevet 26. februar 2008 Forfatter Del Skrevet 26. februar 2008 (endret) Hei, skal ha input fra et prompt-vindu: <?php $rand1 = rand(0,50); $rand2 = rand(0,50); $answer = $rand1 + $rand2; echo "<script language=\"javascript\">prompt (\"Kva er $rand1 pluss $rand2?\", \"" . [Hva skal jeg ha her?] ."\")</script>"; Lenger kommer jeg ikke. Hva skal jeg bruke for å få input fra vinduet? Endret 26. februar 2008 av Garanti Lenke til kommentar
Bozzeye Skrevet 26. februar 2008 Del Skrevet 26. februar 2008 (endret) Hmm, blir det ikke feil å ha quotes (") inni en echo hvis man har innholdet i echo'en i quotes? Skal man ikke bruke bruke apostrof (') slik: echo '<script language=\"javascript\">prompt (\"Kva er $rand1 pluss $rand2?\", \"" . [Hva skal jeg ha her?] ."\")</script>'; Men da funker det vel ikke $rand1 og $rand2, eller gjør de? Er litt usikker på det. Edit: Leif. De, ikke den. Endret 26. februar 2008 av Bozzeye Lenke til kommentar
Garanti Skrevet 26. februar 2008 Forfatter Del Skrevet 26. februar 2008 (endret) Takk for svar, fant ut etter litt lesing på nettet at det er vanskelig å få PHP og javascript til å snakke da PHP er serverside-basert og JS er browser-basert. Uansett, jeg fikk til det jeg ville med litt javascripting; kode følger: <script language="JavaScript"> <!-- var rand1 = Math.floor(Math.random()*51); var rand2 = Math.floor(Math.random()*51); var answer = rand1 + rand2; var input = prompt("Kva er " + rand1 + " pluss " + rand2 + "?","") if(input == answer){ alert(input + " er korrekt!") } else{ alert ("FEIL!") window.location="http://youfail.org/" } //--> </script> Dette er jo uansett en bedre løsning mtp. at den tidligere versjonen ville krevde javascript-funksjonalitet, noe de fleste mobile enheter ikke har. I dette tillfellet blir javascript ignorert hos mobile enheter, og de går direkte til den siden de blir sendt til. Endret 26. februar 2008 av Garanti Lenke til kommentar
Gjest Slettet+6132 Skrevet 26. februar 2008 Del Skrevet 26. februar 2008 (endret) Hmm, blir det ikke feil å ha quotes (") inni en echo hvis man har innholdet i echo'en i quotes? Skal man ikke bruke bruke apostrof (') slik: Nei, han har escapa (kommer ikke på noen gode norske ord for det) tegnene, altså de teller ikke. echo "Dette er en \"test\""; => Dette er en "test" echo 'Dette er en \'test\''; => Dette er en 'test' echo "Dette er en "test""; => Error … du skjønner tegninga Redigert: Du har forresten rett, variabler fungerer ikke i single-quotes ('), da må du gjøre slik: echo '$a = ' . $a . '. Skjønner?'; Endret 26. februar 2008 av Slettet+6132 Lenke til kommentar
Garanti Skrevet 26. februar 2008 Forfatter Del Skrevet 26. februar 2008 Eh, den siste der tok jeg ikke... Lenke til kommentar
Gjest Slettet+6132 Skrevet 26. februar 2008 Del Skrevet 26. februar 2008 Eh, den siste der tok jeg ikke... Denne: echo '$a = ' . $a . '. Skjønner?'; ? Du kan få samme echo til å skrive ut flere ting, du skiller tingene med et punktum. La oss si at du har $navn og $alder, da kan du gjøre slik: echo $navn . ' er ' . $alder . ' år gammel.'; Da vil du få ut noe slik som «Alex er 15 år gammel.» En annen måte å gjøre det på: echo "{$navn} er {$alder} år gammel."; Lenke til kommentar
j-- Skrevet 26. februar 2008 Del Skrevet 26. februar 2008 Eh, den siste der tok jeg ikke... Man kan ikke ha echo "dette er en variabel som heter "kåre""; for da vil PHP tro at den skal stoppe på echo "dette er en variabel som heter ". Om du skal skrive det slik må du enten bruke echo "dette er en variabel som heter \"kåre\""; ("escape quote") eller echo 'dette er en variabel som heter "kåre"'; (da "'" vil være det som holder variabelen,) liksom-edit: Et par eksempler: $variabel = 'SuperDuper'; echo '$variabel er ' . $variabel; #vil vise: $Variabel er SuperDuper echo "$variabel er " . $variabel; #vil vise: $Variabel er SuperDuper echo "$variabel er $variabel"; #vil vise: SuperDuper er SuperDuper echo $variabel . " er $variabel"; #vil vise: SuperDuper er SuperDuper echo $variabel . " er " . $variabel; #vil vise: SuperDuper er SuperDuper echo $variabel . ' er ' . $variabel; #vil vise: SuperDuper er SuperDuper echo '$variabel er $variabel'; #vil vise: $Variabel er $Variabel echo "$variabel er \"$variabel\""; #vil vise: SuperDuper er "SuperDuper" Hjalp det? Lenke til kommentar
Garanti Skrevet 26. februar 2008 Forfatter Del Skrevet 26. februar 2008 Det hjalp! Takk til begge! Lenke til kommentar
Garanti Skrevet 26. februar 2008 Forfatter Del Skrevet 26. februar 2008 (endret) Da har jeg støtt på et nytt problem. Skal gjøre noen strenger harmløse, men får problemer med encodingen med $gotnews = $_POST['news']; $gotauthor = $_POST['author']; $gotheader = $_POST['header']; $truncate = $_POST['truncate']; $rawnews = htmlentities($gotnews, ENT_NOQUOTES, ISO8859-1); \\ Linje 24 $rawauthor = htmlentities($gotauthor, ENT_NOQUOTES,ISO8859-1); \\ Linje 25 $rawheader = htmlentities($gotheader, ENT_NOQUOTES, ISO8859-1); \\ Linje 26 Feilmelding: Warning: htmlentities() [function.htmlentities]: charset `-8' not supported, assuming iso-8859-1 in C:\wamp\www\forum\process.php on line 24 Warning: htmlentities() [function.htmlentities]: charset `-8' not supported, assuming iso-8859-1 in C:\wamp\www\forum\process.php on line 25 Warning: htmlentities() [function.htmlentities]: charset `-8' not supported, assuming iso-8859-1 in C:\wamp\www\forum\process.php on line 26 Uansett hva jeg setter inn i for ISO8859-1, får jeg den samme feilmeldingen. Her er forøvrig siden til php.net som omhandler htmlentities. Endret 26. februar 2008 av Garanti Lenke til kommentar
Gjest Slettet+142 Skrevet 26. februar 2008 Del Skrevet 26. februar 2008 prøv med "ISO-8859-1" da (med fnuttene) Lenke til kommentar
j-- Skrevet 26. februar 2008 Del Skrevet 26. februar 2008 Presently, the ISO-8859-1 character set is used as the default - Manualen. Fnutter, som mariyo nevner, er nok det som skal til for å få det riktig Lenke til kommentar
Garanti Skrevet 26. februar 2008 Forfatter Del Skrevet 26. februar 2008 (endret) Takk for svar! Fikk denne meldingen, men det er vel et hakk nærmere. Warning: Unexpected character in input: '\' (ASCII=92) state=1 in C:\wamp\www\forum\process.php on line 24 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in C:\wamp\www\forum\process.php on line 24 Parse error: syntax error, unexpected T_LNUMBER in C:\wamp\www\forum\process.php on line 24 EDIT: Haha! Feilsøkte litt selv, Fant ut hvilket symbol som hadde ASCII-nummer 92. Det var "\". Jeg blandet altså sammen "\" og "/" for kommentarene, hehe... UAnsett, takk for hjelpen! Setter utrolig stor pris på det! Endret 26. februar 2008 av Garanti Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå