login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql_result - error

Offline Dark_Paul - 17/07/2006 19:39 (laatste wijziging 17/07/2006 19:50)
Avatar van Dark_PaulPHP ver gevorderde Hej,
ik zal er zelf wel overheen kijken, maar toch vind ik de fout niet. ik ben bezig met een inlogscript om een gastenboek te beveiligen (lang verhaal). in eerste instantie werkte de login, maar id en status werden niet goed opgehaald. ik heb gelijk de error iets specifieker gemaakt, dus wat er precies niet klopt. ik krijg nu deze error:
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 6 in C:\AppServ\www\inlogscript\login.php on line 25
er staat iets in de database, namelijk ikzelf username en wachtwoord kloppen.
ik vind 't vreemd dat ie op line 25 pas de fout geeft, terwijl er op line 22 ook al mysql_result wordt gebruikt.
mijn code
zo ziet mijn tabel eruit:
  1. id -> int(10) NOT NULL AUTO_INCREMENT
  2. user -> varchar(20) NOT NULL
  3. password -> varchar(50) NOT NULL
  4. status -> int(1) NOT NULL DEFAULT '0'

zoals het er nu staat, wil het ook niet lukken om id en status van een persoon op te halen (ik had geprobeerd die te echoën, maar kwam niets uit). Waar ga ik de fout in?
[b]edit: ik zag dat er een foutje zat in line 37 t/m 41 ->
  1. $aInfo = mysql_fetch_array($qInfo); // haal alle informatie van de persoon op
  2. $_SESSION['user'] = $aGet['user']; //stel sessie-user in
  3. $_SESSION['pass'] = $aGet['password']; //stel sessie-pass in
  4. $_SESSION['id'] = $aGet'id']; //stel sessie-id in
  5. $_SESSION['status'] = $aGet['status']; //stel sessie-status in

die $aGet[] moet $aInfo zijn, maar dat heb ik al aangepast.

2 antwoorden

Gesponsorde links
Offline Tuinstoel - 17/07/2006 19:54
Avatar van Tuinstoel PHP expert WTF?! Dit noem je toch niet veilig? En logica zie ik er al helemaal niet in. Je moet met één query kijken of een user bestaat & correct is, niet met 2/3 query's mafkees.

  1. <?php
  2. $sQuery = "SELECT * FROM `login` WHERE `user` = '".addslashes($_POST['iUsername'])."' AND `password` = '".md5($_POST['iPassword'])."'";
  3. if(!$rRes = @mysql_query($sQuery))
  4. { echo 'Gegevens opvragen mislukt.'; }
  5. elseif(mysql_num_rows($rRes) == 0)
  6. { echo 'Gebruiker bestaat niet, wachtwoord & gebruiker combinatie bestaat niet.'; }
  7. else
  8. {
  9. // etc.
  10. }
  11. ?>
Offline Dark_Paul - 17/07/2006 19:58 (laatste wijziging 17/07/2006 20:06)
Avatar van Dark_Paul PHP ver gevorderde okej, bedankt ik had het al deels opgelost door mysql_num_rows te gebruiken, maar nu kan ik in ieder geval het script veiliger maken dankje!
mag ik vragen hoe jij aan die $rRes komt in je elseif-statement? want dat snap ik niet helemaal.. laat maar, ik zie 't al ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.19s