<?php
include("connect.php");

$username=$_POST['username'];

$password=$_POST['password'];

$sql="SELECT * FROM admin WHERE username='$username' and password='$password'";

$result=mysql_query($sql);

// This counts to see how many rows were found, there should be no more than 1

$count=mysql_num_rows($result);

// If result matched $username and $password, table row must be 1

if($count==1){

// Register $myusername, and redirect to file "login_success.php"
session_start();
$_SESSION["logged"] = 1;
header("location:admin.php");
}
else {

$_SESSION["logged"] = 0;

echo "geen rechten!";

}

?>
Hier boven zie je mijn login.php script, alleen hij geeft de volgende error
mysql_num_rows(): supplied argument is not a valid MySQL

ik heb de foutmelding gegoogled maar werd er niet veel wijzer van
Cas schreef op 19.05.2009 13:36
@SanThe

Op die while kun je via de $arr nog extra sessies toevoegen, zo heb ik het iig.

Als het goed is geeft mysql_num_rows($sql) slechts 1 record aan. Dus een while() is totaal overbodig.
Uhm... volgens mij geeft mysql_num_rows($sql) namelijk aan of er in de database een record is die overeenkomt met het geen wat je hebt ingevuld.

Als het niet zo is hoor ik het ook graag horz ;)

Dus waarom zou die while dan overbodig zijn?

Gr, Cas
Mysql_num_rows($sql) geeft inderdaad het aantal dat is gevonden. En dat is in dit geval 1, dus geen while() nodig.
Jah okay, maar dan zou ik alsnog een while() gebruiken voor de sessies die je aanmaakt.

een voorbeeld waarvoor ik het zelf heb:

<?php

$_SESSION['iets dergelijks'] = $arr['iets dergelijks'];
?>

misschien iets duidelijker zo?

gr
Zonder while()
<?php
if (mysql_num_rows($sql) > 0)
{
$arr = mysql_fetch_array($sql);
$_SESSION["logged"] = true;
header("Location: admin.php");
}
else
{
$_SESSION["logged"] = NULL;
echo "geen rechten!";
}
?>
Maar wat ik ook doe hij blijft zeuren over die sessions
Include je deze pagina?
nee ik stuur de gegevens vanuit mijn form naar login.php (zie hieronder)
<?php
session_start();
include("connect.php");

if(isset($_POST['submit'])) {
$sql = mysql_query("SELECT * FROM admin
WHERE username='". $_POST['username'] . "'
AND password='" . $_POST['password'] . "'
LIMIT = 1");

if (mysql_num_rows($sql) > 0 ){

if (mysql_num_rows($sql) > 0)
{
$arr = mysql_fetch_array($sql);
$_SESSION["logged"] = true;
header("Location: admin.php");
}
else
{
$_SESSION["logged"] = NULL;
echo "geen rechten!";
}
}
}
?>
Je hebt ook helemaal geen spatie en/of een lege regel vóór je php-tag?
hoe bedoel je spatie of lege regel? tussen <? php en de sessions?

En als ik er een lege regel tussen voeg dan verdwijnt de error maar blijft mijn volgende pagina leeg??

Reageren