note 52092 added to faq.databases
| From: | info at pvims dot com | Date: | Thu, 21 Apr 2005 02:11:18 +0000 |
| Subject: | note 52092 added to faq.databases | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-88303@lists.php.net to get a copy of this message | ||
favor si me dan alguna luz sobre esto les agradezco mucho:
el problema es como valido las entradas autorizas con las visitas que ha tenido.
En si el caso es : a un cliente le venden 10 entradas al mes de un diario por la web luego la
validación es:
1. Que el cliente entre con usurario y Password (esto funciona correcto)
2. Que si ese cliente gasto sus 10 entradas ya el sistema no lo debe dejar entrar. (esto es lo que
no he podido validar)
De echo el codigo funciona perfecto de esta manera:
<?
//conecto con la base de datos
$conn = mysql_connect("localhost","usuario","password");
//selecciono la BD
mysql_select_db("nom_BD",$conn);
//Sentencia SQL para buscar un usuario con esos datos
$ssql="SELECT * FROM noticias WHERE usuario='$usuario' and
password='$contrasena'";
//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);
//estas variables son para probar si hace la comparacion despues de logearse
$a =10; // entradas_autorizadas
$b =20; // numero_visitas
//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
//si se logea correctamente
session_start();
session_register("autentificado");
$autentificado = "SI";
//esto lo uso para sumar 1 visita mas al usuario que entra
mysql_query("UPDATE noticias SET numero_visitas=numero_visitas+1
WHERE usuario='$usuario' and password='$contrasena'");
//aqui toma las variables que puse arriba y las compara correctamente, en este caso no me deja
entrar; Si yo cambio los balores si me deja entrar; Si escribo algo herrado me dice que no estoy
registrado osea todo muy bien pero....
//como hago para que $a=10 y $b=20 tomen los valores correspondientes a la base de datos?
//osea: $a=entradas_autorizadas y $b= numero de visitas de ese usuario logeado?
//luego: si numero de visitas > entradas_autorizadas
if($b > $a ){
//no entra
header("Location: noacceso.html?errorusuario=si");
}else {
//si entra
header ("Location: notivias.html");
}
}else {
// no existe ese usuario registrado
header("Location: novalido.html?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
Extructura de la base de datos
usuario
password
entradas_autorizadas
numero_visitas
----
Manual Page -- http://www.php.net/manual/en/faq.databases.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+52092
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+52092&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+52092&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+52092&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+52092&report=yes&reason=useless
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+52092&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+52092&report=yes
Search -- http://master.php.net/manage/user-notes.php