Ja, dat soort dingen snap ik dus al niet. Ik ben pas net begonnen met PHP leren. Ik zoek het een beetje uit via sheets van school maar die zijn redelijk onduidelijk. Ik ben al zover dat als iemand zijn naam niet ingevuld is hij gewoon naar een pagina gaat met errors en je terug kunt keren maar ik wil dus nu dat andere proberen, of is dat een beetje outta my league voor hoeveel ik weet ( vrij weinig )quote:Op dinsdag 16 februari 2010 20:59 schreef GlowMouse het volgende:
[..]
Met een conversie naar een float gaat dat natuurlijk niet lukken.
[..]
Zoek eerst eens op register_globals En die melding krijg je naast het formulier door te echo'en naast het formulier.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Les 3</title> </head> <body> <?php if ( isset( $_POST['submit'] ) ) { $voornaam = $_POST['voornaam']; $geslacht = $_POST['geslacht']; $woonplaats = $_POST['woonplaats']; $mailinglist = $_POST['mailinglist']; $achternaam = $_POST['achternaam']; $errors = array(); $errors = array(); if(empty($voornaam)) { $errors['voornaam'] = "U bent vergeten uw naam in te vullen"; } if(empty($achternaam)) { $errors['voornaam'] = "U bent vergeten uw naam in te vullen"; } if(count($error) == 0) { echo "--htmlspecialchars gebruiken, zie hierna--$voornaam $achternaam is een $geslacht en woont in $woonplaats.<br>"; } if($mailinglist) { echo htmlspecialchars($voornaam) . " wil <b>wel</b> gebruik maken van de mailinglist."; else echo htmlspecialchars($voornaam) . " wil <b>geen</b> gebruik maken van de mailinglist."; } } ?> <form method="POST" action=""<?php $_SERVER['PHP_SELF']; ?>""> Voornaam:<br /><input type="text" name="voornaam" value="<?php if(isset($_POST['voornaam'])) echo htmlspecialchars($_POST['voornaam']);?>"/><br /> <?php if(isset($errors['voornaam'])) echo $errors['voornaam']; ?> Achternaam<br /><input type="text" name="achternaam" value="<?php if(isset($_POST['achternaam'])) echo htmlspecialchars($_POST['achternaam']);?>"/><br /> <br />Geslacht: <br /> Man <input type="radio" name="geslacht" value="man" /> Vrouw <input type="radio" name="geslacht" value="vrouw" /> <br /><br />Woonplaats:<br /> <select name="woonplaats" value="<?php if(isset($_POST['woonplaats'])) echo htmlspecialchars($_POST['woonplaats']);?>"> <option value="Groningen">Groningen</option> <option value="Assen">Assen</option> </select> <br /><br />Mailinglist:<br /> <input type="checkbox" name="mailinglist" /><br /><br /> <input type="submit" name="submit" value="Post" /> </form> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Les 3</title> </head> <body> <?php if ( isset( $_POST['submit'] ) ) { $voornaam = $_POST['voornaam']; $geslacht = $_POST['geslacht']; $woonplaats = $_POST['woonplaats']; $mailinglist = $_POST['mailinglist']; $achternaam = $_POST['achternaam']; if ( empty( $voornaam ) ) //Naam controleren {$error ="U bent vergeten uw naam in te vullen<br>";} else { print "$voornaam $achternaam is een $geslacht en woont in $woonplaats.<br>"; if ($mailinglist) print "$voornaam wil <b>wel</b> gebruik maken van de mailinglist."; else print "$voornaam wil <b>geen</b> gebruik maken van de mailinglist."; } } ?> <form method="POST" action=""<?php $_SERVER['PHP_SELF']; ?>""> Voornaam:<br /><input type="text" name="voornaam" value="<?php if(isset($_POST['voornaam'])) echo $_POST['voornaam'];?>"/> <?php if(!empty($error)) { //Error bericht wanneer iets niet juist is ingevuld echo $error; } ?> Achternaam<br /><input type="text" name="achternaam" value="<?php if(isset($_POST['achternaam'])) echo $_POST['achternaam'];?>"/><br /> <br />Geslacht: <br /> Man <input type="radio" name="geslacht" value="man" /> Vrouw <input type="radio" name="geslacht" value="vrouw" /> <br /><br />Woonplaats:<br /> <select name="woonplaats" value="<?php if(isset($_POST['woonplaats'])) echo $_POST['woonplaats'];?>"> <option value="Groningen">Groningen</option> <option value="Assen">Assen</option> </select> <br /><br />Mailinglist:<br /> <input type="checkbox" name="mailinglist" /><br /><br /> <input type="submit" name="submit" value="Post" /> </form> </body> </html> |
1 |
Dat bedoel ik. Gebruik <option value="Assen" selected="selected">Assen</option>quote:Op dinsdag 16 februari 2010 21:50 schreef boem-dikkie het volgende:
Dat radio en check buttons 'sticky' maken is volgens ook wat moeilijk dan de achternaam etc.
Dus hij kijkt daar of je 'Groningen' geselecteerd heeft en als dit inderdaad zo is geeft hij een 'selected' mee als sticky aan die waarde?quote:Op dinsdag 16 februari 2010 21:51 schreef Intrepidity het volgende:
Klopt. Het attribuut wat je selecteerd wilt hebben moet selected="selected" als attribuut krijgen. De snelste manier om dat te doen (hoewel niet de mooiste) is om een kort if-statement in iedere <option> te zetten waarbij je de waarden vergelijkt:
[ code verwijderd ]
Mooi is anders, maar het werkt
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | // kijk geslacht en zet keuze // -- man echo '<option value="0" '; if ( $row['geslacht']=='0') { echo 'selected="selected">'.$lang_male.'</option>'; } else { echo '>'.$lang_male.'</option>'; } // -- vrouw echo '<option value="1" '; if ( $row['geslacht']=='1') { echo 'selected="selected">'.$lang_female.'</option>'; } else { echo '>'.$lang_female.'</option>'; } echo '</select>'; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $geslachten = array(0 => $lang_male, 1 => $lang_female); echo "<select name=\"geslacht\">"; foreach($geslachten as $k => $v) { echo "<option value=\"{$k}\" "; if($row["geslacht"] == $k) { echo "selected=\"selected\" "; } echo ">{$v}</option>"; } echo "</select>'; ?> |
Awesome!quote:Op dinsdag 16 februari 2010 23:40 schreef Intrepidity het volgende:
[ code verwijderd ]
Zo kan ie ook. En ontdekken we dan op een verre planeet een ras met 3 geslachten dan hoef je alleen maar een itempje aan de array toe te voegen In het geval van geslacht wellicht niet nodig, maar zo wordt je code wel een stuk dynamischer
1 2 3 4 5 6 7 8 | <?php $geslachten = array(0 => $lang_male, 1 => $lang_female); foreach($geslachten as $k => $v): ?> <option value="<?=$k?>"<?=($row["geslacht"] == $k ? 'selected="selected"' : '')?>><?=$v?></option> <?php endforeach; ?> </select> |
Het mixen van HTML en PHP is uberhaupt smerig imo, of je nou html echoot binnen PHP of korte PHP-tags gebruikt binnen je HTML, het is allebei slordig.quote:Op woensdag 17 februari 2010 05:29 schreef GuidooH het volgende:
Gadver, wat een smerige code!
Het is imho mooier om het volgende te doen:
[ code verwijderd ]
(wat een bagger PHP code ding )
Hoe wou je anders ooit HTML genereren met PHP?quote:Op woensdag 17 februari 2010 07:26 schreef Intrepidity het volgende:
[..]
Het mixen van HTML en PHP is uberhaupt smerig imo, of je nou html echoot binnen PHP of korte PHP-tags gebruikt binnen je HTML, het is allebei slordig.
Met een template enginequote:Op woensdag 17 februari 2010 07:28 schreef GuidooH het volgende:
[..]
Hoe wou je anders ooit HTML genereren met PHP?
Dat is pas een bullshit, dan krijg je er nog een "taal" bij die vervolgens weer geparsed moet worden, heeft dan toch helemaal geen meerwaarde ten opzichte van gewoon php gebruiken in de template bestanden?quote:
Een bescheiden kickje. Heeft iemand misschien een ingeving?quote:Op woensdag 10 februari 2010 18:37 schreef hello_moto1992 het volgende:
Hallo,
Met behulp van s3slider probeer ik gegevens uit de database op te halen.
HTML voor de slider:
[ code verwijderd ]
Nu haal ik op dit moment zo gegevens uit de database, zodat er rijen gevormd worden.
[ code verwijderd ]
Hoe krijg ik dan afzonderlijke gevens, zoals bijvoorbeeld bij de titel, de titels tussen de span? Er staan nl. ook allemaal dingen zoals IMG enzo tussen
bvd
Dus eigenlijk (min of meer) dezelfde methode als voor boem-dikkie?quote:Op woensdag 17 februari 2010 05:29 schreef GuidooH het volgende:
Gadver, wat een smerige code!
Het is imho mooier om het volgende te doen:
[ code verwijderd ]
(wat een bagger PHP code ding )
Ik zeg ook niet dat dat altijd de juiste oplossing is, ik zeg dat dat netter staat vanwege de duidelijke scheiding tussen back- en frontendcode, want daar ging het over.quote:Op woensdag 17 februari 2010 07:57 schreef GuidooH het volgende:
[..]
Dat is pas een bullshit, dan krijg je er nog een "taal" bij die vervolgens weer geparsed moet worden, heeft dan toch helemaal geen meerwaarde ten opzichte van gewoon php gebruiken in de template bestanden?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |