Estoy intentando hacer dos cositas, de las cuales una me funciona bien y la otra... PESIMO! :borracho:
Bueno, paso a explicarles... Lo primero que estuve haciendo es un instalador en php que cree automáticamente la base de datos junto con todas las tablas y campos necesarios para que la web funcione bien. El tema es que no se bien si los tipos de variables que estoy utilizando son correctas para un campo usuario y contraseña. Les dejo el código a continuación:
Código :
<?php $conn=mysql_connect('localhost','root',''); if(!$conn) { echo "<span style='font-size:11px; font-family:Tahoma;'>No se pudo conectar con la base de datos. <b>Asegúrese de que el servidor SQL esté funcionando correctamente</b> o comuníqueselo al administrador.</span><br><br>"; } echo "<span style='font-size:11px; font-family:Tahoma;'>1.- CREANDO LA BASE DE DATOS... </span>"; $sql = "CREATE DATABASE Cybernet"; @mysql_query($sql); if($sql){ echo "<span style='font-size:11px; font-family:Tahoma; color:#009900;'><b>¡LISTO!</b><br><br></span>"; }else{ echo "<span style='font-size:11px; font-family:Tahoma; color:#FF0000;'><b>¡ERROR!</b></span><br><br>"; } echo "<span style='font-size:11px; font-family:Tahoma;'>2.- CREANDO LAS TABLAS... <br><br> • Creando Tabla de Usuarios... </span>"; $database = "Cybernet"; $sql = "CREATE TABLE Usuarios(user varchar(20) PRIMARY KEY default 'admin',pass varchar(25) default 'admin')"; if(mysql_db_query($database,$sql)){ echo "<span style='font-size:11px; font-family:Tahoma; color:#009900;'><b>¡LISTO!</b><br><br></span>"; }else{ echo "<span style='font-size:11px; font-family:Tahoma; color:#FF0000;'><b>¡ERROR!</b></span><br><br>"; } mysql_close($conn); ?>
Por suerte, esto me funciona perfectamente. Crea la base de datos Cybernet junto con su respectiva tabla de usuarios, pero son correctos los tipo de variables que estoy utilizando? O me recomendarían utilizar otro tipo en particular?
Por otro lado, estoy haciendo un sistema de login, pero me ha llevado una gran complicación. Estoy buscando la forma de entender qué es lo que pasa, pero hace 2 días que vengo estudiando la situación y no hay caso. Investigué por todos los foros habidos y por haber y no encuentro nada similar. Les dejo el código y luego les explico lo que pasa:
Código :
<?php $usuario = $_POST['usuario']; $password = $_POST['password']; $conn = @mysql_connect('localhost', 'root', ''); if (! $conn){ echo "Error al intentar conectarse con el servidor MySQL"; exit(); } if (! @mysql_select_db('cybernet')){ echo "No se pudo conectar correctamente a la Base de datos"; exit(); } $sql = "SELECT user,pass FROM usuarios"; $resultado = mysql_query($sql); while($row = mysql_fetch_array($resultado)){ if($row['user']!=$usuario or $row['pass']!=$password){ header("position:index.php"); }else{ header("position:home.php"); } } ?>
Ahora bien, viendo el código que es muy sencillo, todo parece correcto, pero cuando ejecuto el script me doy un chaparrón de agua fria al ver que no me redirecciona a ninguna página, ni al index (error) ni al home (correcto).
Haciendo diversas pruebas, llegué a observar que cuando hago la siguiente consulta:
Código :
$row = mysql_fetch_array($resultado)
La variable $row no tiene nada. Lo comprobé poniendo esto:
Código :
if($row = mysql_fetch_array($resultado)){ echo "Hay algo"; }else{ echo "Hay nada"; }
Lo mostrado en pantalla era "Hay nada" y mis esperanzas se cayeron al 36º subsuelo del Pentágono. Si me pudieran ayudar serían muy amables, ya que estoy perdiendo demasiado tiempo en algo que conceptualmente estoy considerando correcto y estoy 99,9% seguro que me estoy equivocando en algo.
Un abrazo a todos y mil gracias nuevamente...