Toon posts:

[php] vergelijking gaat niet goed

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb de volgende code:
PHP:
1
<?if (strcasecmp($nieuwWachtwoord,$herhaalWachtwoord)) {    if ($nieuwWachtwoord != "") {            $an_id = mysql_query("SELECT uid FROM koppeling WHERE contactid='$contactid'");        $regel=mysql_fetch_array($an_id);        $uid = $regel["uid"];        $ID = fopen("../shop/.htpasswd",'r');        $huidig = "";        while (feof($ID)==0):                $regel=chop(fgets($ID,260));                $huidig=$huidig.$regel."\n";        endwhile;        fclose($ID);                $plaatsUID = strpos($huidig,$uid);        $plaatsDubbelePunt = strpos($huidig,":",$plaatsUID + 1);        $plaatsRegelAfbraak = strpos($huidig,"\n",$plaatsUID);        $verandering = substr($huidig,$plaatsUID,$plaatsRegelAfbraak - $plaatsDubbelePunt);        $wachtwoord = crypt($nieuwWachtwoord);                $nieuw = str_replace($verandering,$uid.":".$wachtwoord."\n",$huidig);                $ID2 = fopen("../shop/.htpasswd",'w');        fputs($ID2,$nieuw);        fclose($ID2);    }    mysql_query("UPDATE contactpersoon SET blabla WHERE contactid='$contactid'");    header("location: Klantenlijst.php3");}else {    header("location: contactWijzigen.php3?wachtwoord=1");}?>

Maar als ik twee verschillende wachtwoorden invoer, dan gaat hij het toch aanpassen, terwijl hij dan toch echt een redirect moet doen naar contactWijzigen.php3
Weet iemand wat ik fout doe??

  • Grum
  • Registratie: Juni 2001
  • Niet online
www.php.net/strcasecmp

en dan lees je
Returns < 0 if str1 is less than str2; > 0 if str1 is greater than str2, and 0 if they are equal.
oftewel je code werkt alleen als het password NIET gelijk is >:)

briljant :+

edit:

en normaal doe je dit soort dingen gewoon met '==' ;)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Waar zit je regel die beide pw's met elkaar vergelijkt?

  • Grum
  • Registratie: Juni 2001
  • Niet online
lezen Nielsz ;) ... nummer 1 :)

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 13-09 12:47

TheDane

1.618

Op donderdag 28 februari 2002 15:26 schreef Grum_ het volgende:

edit:

en normaal doe je dit soort dingen gewoon met '==' ;)
'==' is niet helemaal veilig om 1 of andere vage reden ..
(ben regelmatig in de knoop geraakt dat strcmp() een ander (juist) resultaat oplevert)

Verwijderd

Topicstarter
Op donderdag 28 februari 2002 15:26 schreef Grum_ het volgende:
www.php.net/strcasecmp

en dan lees je
[..]

oftewel je code werkt alleen als het password NIET gelijk is >:)

briljant :+
Sjeezus, das echt superdesuper stom van me, dacht namelijk dat je de uitvoer gewoon in een if-statement kon gooien (dus dat ie een 1 returnt ofzow), maar dat kan dus niet.
Sorry voor dit topic dan, maar ik was ervan overtuigd dat het gewoon zo kon. Dusss sorry
/me Vos schaamt zich

Verwijderd

Topicstarter
Op donderdag 28 februari 2002 15:26 schreef Grum_ het volgende:
edit:

en normaal doe je dit soort dingen gewoon met '==' ;)
== niet netjes :P
En volgens mij werkt dat ook niet altijd helemaal honderd procent.

  • Grum
  • Registratie: Juni 2001
  • Niet online
Je hebt de klok horen luiden ... etc etc etc

Maar leg uit en prove me wrong >:) waarom isset dan 'niet netjes' ?

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 13-09 12:47

TheDane

1.618

Op donderdag 28 februari 2002 15:40 schreef Grum_ het volgende:
Je hebt de klok horen luiden ... etc etc etc

Maar leg uit en prove me wrong >:) waarom isset dan 'niet netjes' ?
met '==' kan je geen regex vergelijken :P

  • Grum
  • Registratie: Juni 2001
  • Niet online
niet ?

jewel hoor
PHP:
1
<?$regex = '![a-z]{5}!';$regex2 = '![a-z]{5}!'; if($regex == $rexex2)   print 'etzelfde!';else   print 'anders!';?>

nu bedoel je dit niet natuurlijk .. maar dan moet je et ook niet zeggen >:)

[edit]
daarnaast heeft netheid nix met functionaliteit te maken
[/exit]

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 28 februari 2002 15:27 schreef Grum_ het volgende:
lezen Nielsz ;) ... nummer 1 :)
oja :) ik las function cmp($1,$2) oid :)

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 13-09 12:47

TheDane

1.618

Op donderdag 28 februari 2002 15:46 schreef Grum_ het volgende:
niet ?

jewel hoor
PHP:
1
<?$regex = '![a-z]{5}!';$regex2 = '![a-z]{5}!'; if($regex == $rexex2)   print 'etzelfde!';else   print 'anders!';?>

nu bedoel je dit niet natuurlijk .. maar dan moet je et ook niet zeggen >:)

[edit]
daarnaast heeft netheid nix met functionaliteit te maken
[/exit]
dit is nog steeds geen regex vergelijken hoor |:( :)

dit is resultaten van regex vergelijken :)

edit:
maar idd, netheid heeft niks met functionaliteit te maken

  • Grum
  • Registratie: Juni 2001
  • Niet online
moet ik een pot clue opentrekken of is de 10 eurocent al gevallen ? >:) >:) :+

![a-z]{5}! <-- dat is een regexp
![a-z]{5}! <-- dat is NIET een resultaat van een regexp

$a == $b <-- dat is $a met $b vergelijken
$regexp == $regexp2 <-- dat is $regexp met $regexp2 vergelijken

als jij zegt: je kan geen regexps vergelijken dan staat hier boven het bewijs dat et wel kan .. met is alleen STERVENS onzinnig

  • Grum
  • Registratie: Juni 2001
  • Niet online
Op donderdag 28 februari 2002 15:34 schreef Grote Vos het volgende:
== niet netjes :P
En volgens mij werkt dat ook niet altijd helemaal honderd procent.
klein schopje .. zou graag ff de motivatie van deze persoon willen weten :)

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Ik ook. Natuurlijk wil je hier niet op regexps vergelijken, maar leg uit :)

Of ga je zo wachtwoorden vergelijken : [a-z0-9]*

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 28 februari 2002 16:24 schreef Grum het volgende:
![a-z]{5}! <-- dat is een regexp
![a-z]{5}! <-- dat is NIET een resultaat van een regexp
Nee hoor, dat zijn 2 strings...
Dat ze door allerlei regexp-engines als 'commandostrings' worden geinterpreteerd is compleet irrelevant als je == doet ;)
Pagina: 1