Archief - PHP: fout ?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

HelloApu

Legacy Member
Is 1 van deze 2 dingen fout ?
PHP:
 if ((( $geb != "GFZZ" ) || ( $pas != "7567" )) && (( $_COOKIE[geb] != "GFZZ" ) || ( $_COOKIE[pas] != "7567" )))
( het nodige komt er nog achter maar dat hoeft hier niet te staan )
PHP:
	setcookie("pas",$_POST[pas],"+300");
	setcookie("geb",$_POST[geb],"+300");

HelloApu

Legacy Member
Dat doet er niet toe !!!! met is mss iets proffecioneler maar daarom niet beter.

|t3st

Legacy Member
HelloApu zei:
Dat doet er niet toe !!!! met is mss iets proffecioneler maar daarom niet beter.
wilt ge geholpen worden of nie?

zoja niet roepen of agressief doen op channel zijde al even erg

greetz Sluttie

dJeez

Legacy Member
HelloApu zei:
Is 1 van deze 2 dingen fout ?
Als je wil testen of de combinatie geb = 'GFZZ' en pas = '7567' al dan niet via cookie werd doorgegeven (wat ik vermoed) dan is het compleet fout. Een simpele test zou dat trouwens al uitwijzen. Je moet testen of 1 van de combinaties klopt, dus eigenlijk de booleaanse logica en de (on)gelijkheden omdraaien.

killgore

Legacy Member
HelloApu zei:
Dat doet er niet toe !!!! met is mss iets proffecioneler maar daarom niet beter.
Nop, niks met professioneel te maken mr. i-know-it-better-than-all-the-others.

Als je dat typt verwijs je naar constanten, dus zoiets:

PHP:
define("A",15);
$arr = array("A"=>"foo",15=>"bar");
echo $arr[A];
Zal bar geven en NIET foo!!!

Als deze constante echter niet bestaat zal php hem echter als een string evalueren, waardoor het in jouw ogen wel werkt dus (hoewel het fout is!). Als je max. niveau error_reporting hebt zal ie trouwens een notice geven (
Notice: Use of undefined constant A - assumed 'A' in c:\inetpub\wwwroot\test.php on line 5).

dus, informeert u int vervolg wa beter!

veel haakjes gebruiken is 1 ding, overdrijven is iets anders (hier zit geen fout in buiten je gebruik van constants-strings):
PHP:
if( ( $geb != "GFZZ" ||  $pas != "7567" ) 
    && ($_COOKIE['geb'] != "GFZZ" || $_COOKIE['pas'] != "7567") )
Best check je ook of een value geset is voor je ze uit een global gebruikt ;).
dit daarentegen is bij mijn weten compleet fout:

setcookie("pas",$_POST[pas],"+300");
setcookie("geb",$_POST[geb],"+300");
Niet enkel je string-constants en het niet checken maar ook je tijd.

Je zet je tijd (als ze al goed geëvalueerd wordt door php) op +300, aangezien dit unix time is zal dit ergens rond 1uur zijn op 1 januari 1970. Beetje vroeg om te expiren imho.
dit zal juister zijn:
PHP:
setcookie("pas",$_POST['pas'],time()+300,"/");
setcookie("geb",$_POST['geb'],time()+300,"/");
de "/" was je gewoon vergeten, maar dit is enorm aan te raden, op die manier werkt de cookie in (bijna) elke map van jouw site ;).
Alsook: je 300 moest een integer zijn, een getal dus, rond variabelen/waardes die je puur als getallen aanschouwt moet je NOOIT " zetten!

edit: srry nullius :p

Nullius

Legacy Member
:offtopic: Het is professioneel.
Zeg het maar omdat het nu al twee keer verkeerd geschreven staat ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan