Hola gente. Necesito ayuda.
Estoy aprendiendo el tema de las sesiones y estoy intentando realizar una práctica.
La práctica consiste en crear una sesión con los datos de un usuario y solo si estos son correctos dará acceso a más páginas.
El error me lo da con la pagina authmain.php
Lo he repasado varias veces y espero que no sea un error tonto,
el error es
mysql_num_rows(): supplied argument is not a valid MySQL result resource in /xxx/xxx/authmain.php on line 16
que falla?
Gracias de antemano.
su codigo es
Código:
<?php
session_start();
if (isset($_POST['userid']) && isset($_POST['password']))
{
// if the user has just tried to log in
$userid = $_POST['userid'];
$password = $_POST['password'];
$db_conn = mysql_connect('localhost', 'xxx', 'xxxx');
mysql_select_db('productos', $db_conn);
$query = 'select * from productos '
."where nombre='$userid' "
." and clave=password('$password')";
$result = mysql_query($query, $db_conn);
if (mysql_num_rows($result) >0 )
{
// if they are in the database register the user id
$_SESSION['valid_user'] = $userid;
}
}
?>
<html>
<body>
<h1>Home page</h1>
<?
if (isset($_SESSION['valid_user']))
{
echo 'You are logged in as: '.$_SESSION['valid_user'].' <br />';
echo '<a href="logout.php">Log out</a><br />';
}
else
{
if (isset($userid))
{
// if they've tried and failed to log in
echo 'Could not log you in';
}
else
{
// they have not tried to log in yet or have logged out
echo 'You are not logged in.<br />';
}
// provide form to log in
echo '<form method="post" action="authmain.php">';
echo '<table>';
echo '<tr><td>Userid:</td>';
echo '<td><input type="text" name="userid"></td></tr>';
echo '<tr><td>Password:</td>';
echo '<td><input type="password" name="password"></td></tr>';
echo '<tr><td colspan="2" align="center">';
echo '<input type="submit" value="Log in"></td></tr>';
echo '</table></form>';
}
?>
<br>
<a href="members_only.php">Members section</a>
</body>
</html>