Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.
1
| error_reporting(E_NONE); |
ergens voorin je script gooien, dat onderdrukt alle fouten/waarschuwingen. Is ook vrij makkelijk te vinden op www.php.net
Echter: als je waarschuwingen en/of errors krijgt met onderstaande code, dan heb je toch echt dingen in je code die niet helemaal lekker zijn er waar je dan ook zeker aandacht aan moet besteden. Alles is prima te coden zonder een enkele error of warning, zelfs met errorreporting op E_ALL
1
| error_reporting(E_ALL); |
[18:54] <Prammenhanger> |HunterPro|eet
[18:55] <Prammenhanger> lijkt best op
[18:55] <Prammenhanger> |HunterProFeet
ISP ze overrulen. Thuis gaat het goed. dmv php.ini, maar online niet.
Maar dan mag je deze newbie vertellen hoe je vars kan definieren zonder dat ze mijn andere later in te vullen waarden in de war schoppen.
Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.
bluesbrother schreef op 06 augustus 2002 @ 02:11:
Ik heb echt in de docu gekeken en toegepast maar kennelijk dat de instellingen van mijn
ISP ze overrulen. Thuis gaat het goed. dmv php.ini, maar online niet.
Maar dan mag je deze newbie vertellen hoe je vars kan definieren zonder dat ze mijn andere later in te vullen waarden in de war schoppen.
1
| if (!$var) { $var = 0; } |
zoiets?
of nog mooier:
1
2
3
4
5
6
| if (isset($var)){ echo "doe hier wat gekker dingen"; } else { echo "fout? variabele is niet aanwezig."; // of gewoon negeren als het optioneel is natuurlijk. } |
[ Voor 0% gewijzigd door CyeZ op 06-08-2002 02:51 . Reden: layout verneuking gefixed. ]
[18:54] <Prammenhanger> |HunterPro|eet
[18:55] <Prammenhanger> lijkt best op
[18:55] <Prammenhanger> |HunterProFeet
How bout boven in je pagina de variabelen vullen met default waardes?bluesbrother schreef op 06 augustus 2002 @ 02:11:
Maar dan mag je deze newbie vertellen hoe je vars kan definieren zonder dat ze mijn andere later in te vullen waarden in de war schoppen.
$mijnstring = '';
$mijninteger = 0;
Of dit op een andere plek doen
Exact expert nodig?
't Lijkt mij juist het handigst om beide te doen:Crazy_D:
Als je ergens een if hebt waarin je de var's vult, ook een else opnemen om ze daar default waardes te geven. Of isset() gebruiken, al vind ik het persoonlijk handiger om met default waardes te werken.
1
2
3
| if ( niet geldige waarde van $var ) {
$var = default waarde;
} |
waar in de conditie dan (uiteraard) ook de isset() opgenomen wordt
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
1
2
3
4
| for($i = 0;$i <= 10;$i++){ $j = $j + 2; echo "$i - $j"; } |
zou perfect kunnen werken (als "E_ALL" niet aanstaat) wat is voor php nou het voordeel om die variabele (in dit geval $j) eventjes te defineren?
oogjes open, snaveltjes dicht
Verwijderd
Nog mooier zou zijn:CyeZ schreef op 06 augustus 2002 @ 02:46:
[...]
of nog mooier:
PHP:
1 2 3 4 5 6 if (isset($var)){ echo "doe hier wat gekker dingen"; } else { echo "fout? variabele is niet aanwezig."; // of gewoon negeren als het optioneel is natuurlijk. }
1
2
3
4
5
| if(strlen(trim($incomingvar)) > 0){ //var is ok, doe wat met die var ofzo }else{ //De gebruiker van het form heeft de waarde niet of met spatie(s) ingevult } |
Hierbij moet wel gezegd worden dat je eigenlijk $_GET $_POST en $_COOKIE etc zou moeten gebruiken.
1
2
3
4
| for($i = 0,$j = 0;$i <= 10;$i++){ $j = $j + 2; echo "$i - $j"; } |
Word et dan dus, vraag me af of et werkt .. vast wel =)
Klaar voor een nieuwe uitdaging.
Het gebruik van E_ALL wordt hier en daar een beetje verkeerd gewaardeerd.RRX:
Hmm, dit topic brengt mij gelijk op de volgende vraag:
PHP:
1 2 3 4 for($i = 0;$i <= 10;$i++){ $j = $j + 2; echo "$i - $j"; }
zou perfect kunnen werken (als "E_ALL" niet aanstaat) wat is voor php nou het voordeel om die variabele (in dit geval $j) eventjes te defineren?
Het doel van error_reporting op E_ALL (lees: E_NOTICE) is in feite debug-informatie. Je kunt namelijk binnen no-time bugs tracen die voortkomen uit ongedefinieerde variabelen (vaak spelfouten). Oftewel, als je code zo schrijft, dat E_NOTICE wel fouten geeft, maar je die negeert, is het veel lastiger het het kaf van het koren te scheiden. Welke Notice geeft nou wel en welke geeft nou geen waardevolle informatie?
Kortom, je maakt het jezelf alleen maar makkelijker door nette code te schrijven die zonder wat voor melding dan ook er doorheen komt, met error_reporting op E_ALL.
Vergeet ik nog te melden dat je door met E_ALL te werken ook vaak een beter beeld krijgt van de informatie waar je mee te maken hebt, omdat je min of meer gedwongen wordt je input door en door te kennen
[ Voor 0% gewijzigd door drm op 06-08-2002 13:38 . Reden: controle op je informatie ]
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
// dit zijn meldingen (een echo) die altijd weergegeven
//worden, maar als ze leeg zijn zie je ze niet.
$username_fout = "";$email_fout = "";
$passw_fout = "";
Als ik ze als bovenstaand definieer, of met 0 dan werken ze ook niet meer.
dit is de submit knop, en die geeft anders ook een melding als ik hem
niet definieer, als ik het als volgt doen dan werkt ie nie meer.
$submit = 0;
En zo heb ik nog wel een paar voorbeelden.
Ik zal vast iets stoms doen.........
Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.
Verwijderd
Undefined variable: submit in ladida_user.php on line 143
Als ik $submit ergens aan gelijk stel werkt deze niet meer als er op de submit knop wordt gedrukt.
Ook simpele $vars als $username = "txt_username"; // wat de eerste var gelijk stelt aan een input text field.
Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.
1
2
3
| if (!isset($submit)) { $submit = ""; //defaultwaarde } |
Wat volgens mij al eerder gezegd is.
Verwijderd
Neej het ging fout, omdat hij in zijn script de waarde overschreef met defaeultwaarde zonder eerst te kijken of ze geset waren.Verwijderd schreef op 11 augustus 2002 @ 20:15:
kan het niet zo zijn dat je isp register_globals uit heeft staan? dat je dus met $_GET['submit'] en $_POST['submit'] moet werken ipv gelijk met $submit?
@$var; te gebruiken, de eerste keer dat deze var wordt aangeroepen.
http://www.php.net/manual...perators.errorcontrol.php
Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.
da's ook gewoon het onderdrukken van 'n foutmelding...bluesbrother schreef op 11 augustus 2002 @ 20:25:
Het gezeur met die waarschuwingen kan je ook uitzetten door:
@$var; te gebruiken, de eerste keer dat deze var wordt aangeroepen.
http://www.php.net/manual...perators.errorcontrol.php
enneh, grum: 't is precies andersom hè
"Happiness is a way of travel, not a destination."
--Roy Goodman
Over dat $submit: als je in je formulier op Enter drukt en dus niet met de muis op de knop submit klikt, dan wordt wel je formulier verstuurd, maar niet de waarde van die knop. En dus bestaat $submit in dat geval ook niet.
Verwijderd
hey kijk dat wist ik dus niet, dus altijd ff een inputtype=hidden name=submit value=yes erbij gooienEegee schreef op 11 augustus 2002 @ 21:27:
offtopic:
Over dat $submit: als je in je formulier op Enter drukt en dus niet met de muis op de knop submit klikt, dan wordt wel je formulier verstuurd, maar niet de waarde van die knop. En dus bestaat $submit in dat geval ook niet.
thnx
Verwijderd
dus bijvoorbeeld:
if(isset($_POST["username"]))
bij een loginform...
Gewoon checken of de request_method post is, en daarna controleren of alle (verplichte) velden geset zijn.Verwijderd schreef op 11 augustus 2002 @ 21:38:
[...]
hey kijk dat wist ik dus niet, dus altijd ff een inputtype=hidden name=submit value=yes erbij gooien
thnx
Exact expert nodig?