Foros del Web » Programando para Internet » PHP »

Error todo me manda como si la informacion fuera ELSE

Estas en el tema de Error todo me manda como si la informacion fuera ELSE en el foro de PHP en Foros del Web. Buenas tengo un mini programa de busqueda de cedulas en PHP, tiene un archivo HTML con el formulario, uno PHP con la configuracion y el ...
  #1 (permalink)  
Antiguo 05/09/2009, 17:47
 
Fecha de Ingreso: enero-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 1
Pregunta Error todo me manda como si la informacion fuera ELSE

Buenas tengo un mini programa de busqueda de cedulas en PHP, tiene un archivo HTML con el formulario, uno PHP con la configuracion y el archivo en PHP que lo procesa.

Aqui van los codigos:
El codigo del formulario:

Código HTML:
<html>
<head><title>Introduzca Cedula</title>
<style type="text/css">
<!--
.Estilo1 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
}
-->
</style>
</head>
<body>
<center>
  <form name='datos' action='procesar.php' method='post'>
    <div align="left"><span class="Estilo1">Ingrese numero de cedula:    </span>
      <input type='text' name='nombre' /> 
       <input type='submit' value='Revisar si existe!' />
      </div>
  </form> 
</center>
</body>
</html>

<body>
</body>
</html> 
El archivo de configuracion en PHP:

Código PHP:
<?PHP
// Diseñado por Daniel Fornez
// Archivo de configuracion de la busqueda de cedulas
$direccion 'localhost';
$usuario 'root';
$password 'papaleco';
$db 'registroeee';
?>
El archivo que procesa todo:

Código PHP:
<?PHP
    
include ("configuracion.php");
    
//El archivo que incluye las variables direccion, usuario, password y db
$user$_POST['datos'];
// Importamos el campo del HTML

// Obviamente conectamos 
mysql_connect($direccion$usuario$password); 
mysql_select_db($db); 
 
// Paso 2: Hacemos la consulta a la Tabla por el usuario 
$busquedamysql_query("SELECT * FROM `cedula` WHERE 1 ='$user'") or die(mysql_error());

// Paso 3: vemos si hubo coincidencias 
if(mysql_num_rows($busqueda)>0) {  
      
// Aqui va el texto si esta inscrito
      
echo "La cedula $user se encuentra preinscrita";
      echo 
"<a href=\"javascript:history.back()\">Regresar</a>"
} else { 
      
// Aqui va el texto si no esta inscrito
echo "La cedula $user no se encuentra preinscrita. Por favor prosiga con el formulario.<br>";
echo 
"<a href=\"javascript:history.back()\">Regresar</a>"


?>
Una captura de la DB:

Cita:
***p://img44.imageshack.us/img44/5022/phpmyadmin7894562149.png
Pero todas las cedulas me dicen
Cita:
La cedula no se encuentra preinscrita. Por favor prosiga con el formulario.
Regresar
Y no se que hacerªª1 Gracias por su ayuda de antemano
  #2 (permalink)  
Antiguo 05/09/2009, 17:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Error todo me manda como si la informacion fuera ELSE

Hola, cambia
Código PHP:
$user$_POST['datos']; 
por
Código PHP:
$user$_POST['nombre']; 
o viceversa...
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #3 (permalink)  
Antiguo 05/09/2009, 18:05
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Error todo me manda como si la informacion fuera ELSE

Creo que tienes un error con tu tabla, tal vez te confundiste y lo que tienes como nombre de campo esperas que sea un registro. Necesitas definir correctamente la estructura de tu tabla y solo entonces comenzar a probar.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 05/09/2009, 18:18
Usuario no validado
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Error todo me manda como si la informacion fuera ELSE

Cita:
Iniciado por thezzin Ver Mensaje
Hola, cambia
Código PHP:
$user$_POST['datos']; 
por
Código PHP:
$user$_POST['nombre']; 
o viceversa...
Saludos, eso tienes que hacer, creo que te confundiste al tomar la variable $_POST.
  #5 (permalink)  
Antiguo 05/09/2009, 18:56
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Error todo me manda como si la informacion fuera ELSE

Cita:
Iniciado por tuPac_shakur Ver Mensaje
Saludos, eso tienes que hacer, creo que te confundiste al tomar la variable $_POST.
//--------------------------------------------------
ok es que el dice que tiene el formulario html
y ahí tienes el input name='nombre' Completo <input type='text' name='nombre' />
y luego la pagina.php que procesa y ahí veo que cuando recibe los datos del form
en el $_POST[] tienes datos cuando en realidad tienes que ser nombre
porque así tienes en el form name='nombre'

luego veo que la variable del $user= $_POST['datos'];
la usa en esta linea
Código PHP:
$busquedamysql_query("SELECT * FROM `cedula` WHERE 1 ='$user'") or die(mysql_error()); 
y luego el dice:

Cita:
Pero todas las cedulas me dicen
Cita:
La cedula no se encuentra preinscrita. Por favor prosiga con el formulario.
Regresar

pero sera que no le entiendo que quiere hacer... Saludos.

--
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #6 (permalink)  
Antiguo 05/09/2009, 19:09
 
Fecha de Ingreso: enero-2009
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 1
Pregunta Respuesta: Error todo me manda como si la informacion fuera ELSE

Buenas noches, gracias por su respues ya resolvi lo de la varible $_POST, me confundi con el nombre de el formulario.

En fin, lo cierto es que es un sistema de busquedas de cedulas de identidad para ver si estan preinscritas, la cosa es que hasta haora tengo solo unas poquitas cedulas en la base de datos, pero dentro de poco podran ser cientos, y no se mucho de MySQL y quisiera saber como definir correctamente la estructura de la tabla (Gracias Triby) para poner un ejemplo, supongamos que tengo las siguientes cedulas:

123
234
569
189


Y quisiera saber mediante PHP si estan en la DB.
Esa es la frase clave.

Saludos,
Daniel
  #7 (permalink)  
Antiguo 06/09/2009, 00:01
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Error todo me manda como si la informacion fuera ELSE

Como dijera el buen Jack en White Chapel, vamos por partes, parece que no sabes mucho de bases de datos, al menos no de MySQL.

Tu tabla con nombres de campo numericos todos como varchar(12) y clave "user" en fulltext no parece tener sentido, por lo que primero necesitas definir que es lo que vas a guardar en cada registro, como ejemplo:

cedula varchar(12) - clave primaria
usuario int(10) - o lo que tengas para poder asociarla a tu tabla de usuarios
-- Mas campos?... eso depende de tus necesidades.

Ahora, sobre tu consulta:
Cita:
SELECT * FROM `cedula` WHERE 1 ='$user'
No te va a devolver registros porque:
1- Actualmente tu tabla esta vacia, cero registros.
2- 1 nunca va a ser igual a '$user', a menos $user sea 1, la comparacion quedaria 1 = '1' y te devolveria todos los registros de la tabla.

En WHERE siempre debes definir un campo dentro de la tabla y compararlo con el valor a buscar, por ejemplo: WHERE cedula = '$cedula' o WHERE usuario = '$user'

Te recomiendo este curso de MySQL, leelo con calma, comprendelo y preguntanos las dudas que tengas.
__________________
- León, Guanajuato
- GV-Foto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:52.