1 2 3 | define('NAME_FULL', 'Bedrijf B.V.'); ?> |
quote:Op vrijdag 12 februari 2010 12:10 schreef Chandler het volgende:
Laat je code eens zien? misschien geeft dat meer inzicht?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // reguliere expressie $reg = '/({|})/'; // voorbeeld string om te testen $a = 'testing {ABF_NAME_FULL} bladiebla en natuurlijk ook {ABF_FULL} niet te vergeten'; // Splitsen op de expressie, resultaat komt in een array terug $test = preg_split($reg, $a, -1); $iCountTest = count($test); for($i = 0; $i < $iCountTest; $i++) { // resultaat zit altijd op de oneven nummers. if( $i & 1 ) { eval("\$test[\$i] = \"$test[$i]\";"); } } ?> |
quote:Op vrijdag 12 februari 2010 12:23 schreef Trollface. het volgende:
Waarom preg_split als je ook str_replace kunt doen?
Omdat ik dat al uitgelegd heb.quote:Op donderdag 11 februari 2010 09:47 schreef ursel het volgende:
Toch nog even mijn probleem met m'n define kicken.
Mijn define is bijv. zoals onderstaand:
[ code verwijderd ]
Mijn defines worden afhankelijk van de omgeving ingeladen en staat er de naam van het bedrijf in de NAME_FULL
In de database heb ik een aantal velden met verschillende blokken tekst. Ik zou graag in deze tekst een define willen gebruiken. Om er onderscheid in te maken heb ik er al {} omheen gezet. Met de preg_split filter ik de defines er nu uit.
Echter krijg ik de defines niet vertaal en blijft er NAME_FULL staan, ook al gooi ik deze door een eval heen.
Enig idee hoe ik dit wel kan bewerkstelliggen zonder de str_replace. Want bij deze moet ik voor elke define welke ik wil gebruiken nogmaals apart in een functie definieren. Liefst wil ik dus gewoon de defines kunnen gebruiken welke ik al gedefinieerd heb.
quote:
1 2 3 | $inhoud = str_replace(array_keys(get_defined_constants()), array_values(get_defined_constants()), $inhoud); ?> |
Kijk, daar was ik dus naar op zoek..quote:Op vrijdag 12 februari 2010 12:34 schreef Trollface. het volgende:
[..]
[ code verwijderd ]
Dit lost dat op.
Met number_format($bedrag, 2, ",", ".");quote:Op maandag 15 februari 2010 11:41 schreef DaFan het volgende:
Hoe krijg ik een FLOAT, met als output (bv) 20111.18 naar een fatsoenlijke weergave (voor geld):
20.111,18 ?
Sorry dit ging over SQL, niet phpquote:Op maandag 15 februari 2010 11:45 schreef Intrepidity het volgende:
[..]
Met number_format($bedrag, 2, ",", ".");
Waarbij parameter 2 het aantal decimalen is, parameter 3 het scheidingsteken voor decimalen, en parameter 4 het scheidingsteken voor duizendtallen.
1 2 | {echo "- U bent vergeten uw naam in te vullen<br>Klik op <a href=javascript:history.back(1)>Ga terug</a> om terug te keren.";} |
Met een conversie naar een float gaat dat natuurlijk niet lukken.quote:Op maandag 15 februari 2010 11:48 schreef DaFan het volgende:
[..]
Sorry dit ging over SQL, niet php
Edit:
Was het toch niet.
Heb nu:
select CONVERT(float,CAST(FreeNumberField_01 as Money),1)
Dit geeft xxxxxx,xx
Er moeten punten tussen de duizendtallen
Zoek eerst eens op register_globalsquote:Op dinsdag 16 februari 2010 20:56 schreef boem-dikkie het volgende:
Ik heb een hele domme vraag.
Ik heb als oefening voor mezelf en school een formulier waar je wat dingen in kunt vullen. Ik heb de mail functie even niet gebruikt dus als ik wat invul en ik druk op submit dan komen de 'ingevulde' items gewoon boven aan de pagina staan. Nou heb ik als 'controle' dit er in staan.
[ code verwijderd ]
Als ik dus niks heb ingevuld bij voornaam dan krijg je deze error en kun je terug keren naar het formulier. Wat ik me nou afvraag is. Hoe krijg ik mijn 'echo' foutmelding naast het formulier.
Ik wil dus dat als mensen op submit drukken en ze hebben iets niet ingevuld er gewoon met rode letters naast het formulier komt te staan. U bent vergeten uw naam in te vullen..
Ik hoop dat jullie kunnen helpen, ik ben nogal een newbie.
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_globalsEn 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>'; ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |