Gå til innhold

Mysql_fetch_row() funker ikke


Anbefalte innlegg

Noen som vet hva som er galt med denne kodebiten:

while($mysql_row=mysql_fetch_row($result)) {
$_SESSION['id']=mysql_row['id'];
$_SESSION['username']=mysql_row['username'];
$_SESSION['lastlogin']=date("Y-m-d H:i:s");
print_out("Du er nå innlogget.$_SESSION[username]");
}

Har prøvd å luke ut ting med //

og jeg har funnet ut at det er mysql_fetch_row den har problemer med. Men jeg har brukt akkurat den samme koden på et annet script og finner ikke feilen. Er det noen som kan hjelpe meg?

 

Full kode

 

<?php
include 'faste/db-info.php';
function print_out($print_out) {
 include 'faste/topp.php';
 echo '<h2>Logg inn!</h2>';
 if($print_out!="") {echo "<p>$print_out</p>";}
 echo '
<form action="" method="post">
<p>
Brukernavn: 
<input type="text" name="username" /><br />
Passord: 
<input type="password" name="password" /><br />
<a href="glemt_passord.php">Glemt passordet</a><br />
<input type="submit" value="Logg inn" /></p>
</form>';
 include 'faste/bunn.php';
 exit();
} //slutt på funsjon print_out()


if($_POST) { //Bruker sender login form
if($_POST['username']=="" || $_POST['password']=="") {
print_out('Du har ikke skrevet inn brukernavn og passord.');
}
if(preg_match("/[^a-z0-9]/i", $_POST['username']) || preg_match("/[^a-z0-9]/i", $_POST['password'])) {
print_out("Brukernavn eller passord inneholder tegn som ikke er lov.");
} 

//Skjekker om riktig login i database
$username=$_POST['username'];
$password=md5($_POST['password']);
$query="SELECT username FROM users WHERE username='$username' AND password='$password'"; //string til DB
$result=mysql_query($query);
if($result="") {
mysql_error();
mysql_close($mysql_connect);
print_out("Brukernavn og/eller passord er feil.<br />$password");
} //end if
else {
session_start();
while($mysql_row=mysql_fetch_row($result)) {
 $_SESSION['id']=mysql_row['id'];
 $_SESSION['username']=mysql_row['username'];
 $_SESSION['lastlogin']=date("Y-m-d H:i:s");
 print_out("Du er nå innlogget.$_SESSION[username]");
}
/*
$_SESSION['id']='1365';
$_SESSION['username']='JonT';
$session_username=$_SESSION['username'];
$_SESSION['lastlogin']=date("Y-m-d H:i:s");
print_out("Du er nå innlogget.$_SESSION[username]");
*/
} //end else
} //slutt på end if($_POST)

else {
print_out("");
} //slutt på end if($_POST) else
?>

 

 

Får denne feilmeldingen:

Parse error: syntax error, unexpected '[' in C:\Programfiler\xampp\htdocs\login.php on line 43
Endret av JonT
Lenke til kommentar
Videoannonse
Annonse

if($result="") {
mysql_error();
mysql_close($mysql_connect);
print_out("Brukernavn og/eller passord er feil.<br />$password");
} //end 

 

Du setter $result til "" istedenfor å sjekke om strengen er tom (noe du strengt tatt skal gjøre med funksjonen empty())

 

strenger skal sammenlignes med strcmp eller strcasecmp

Lenke til kommentar

Takk.

I tillegg til denne feilen fant jeg enda en mer vesentlig feil.

Jeg hadde glemt å velge database.

Hater disse skrivefeilene og alle ting som er så dødsviktige å ha med.

 

Men selfølgelig når jeg har løst et problem dukker det selfølgelig opp ett nytt ett.

Bruker nå denne koden:

session_start();
$mysql_row=mysql_fetch_row($result);
 $_SESSION['id']=$mysql_row['id'];
 $_SESSION['username']=$mysql_row['username'];  //Feilen antagelig her.
 $_SESSION['lastlogin']=date("Y-m-d H:i:s");
 $_SESSION['permission']=$mysql_row['permission'];
 include 'faste/topp.php';
 echo '<h2>Logg inn</h2>';
 echo "<p>Du er nå innlogget som $_SESSION[username]</p>";
 include 'faste/bunn.php';

 

Feilmelding:

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...