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>