codigo con fallo excondido

Iniciado por Pirat3net, 18 Octubre 2012, 18:13 PM

0 Miembros y 1 Visitante están viendo este tema.

Pirat3net



bueno este es el procesado del fromulario, el codigo se ejecuta hasta el final sin embargo en el ultimo if , cuando se ejecuta la querry para guardar los registros en la base de datos, pues muestra el mensaje avisando de que no no puede hacerlo , y no veo el problema, cuando le puse un or die() para ver que me decia , decia que en en una columna y una fila, el registro valia uno :S

Código (php) [Seleccionar]
<?php
 
 
$current_time 
date ("Y-m-d H:i:s");   
$user=$_POST['user'];
$nombre=$_POST['nombre'];
$pass=$_POST['pass'];
$eMail=$_POST['eMail'];



$user=trim($user);
$pass=trim($pass);
$nombre=trim($nombre);
$eMail=trim($eMail);

//restricciones para el formulario
if (!$user || !$nombre ||!$pass || !$eMail || 
strlen($user)>15 || strlen($nombre)>50 || strlen($pass)>25  || strlen($eMail)>40 ||
strlen($user)<|| strlen($nombre)<3|| strlen($pass)<5|| strlen($eMail)<9){
 echo 
'los siguientes datos sonn incorrectos <br>';
if( !
$user){
echo 
'el nombre de usuario no puede estar vacio; <br>'

 if( !
$nombre){
echo 
'su niombre real no puede estar vacio; <br>'
}  
if( !
$pass){
echo 
'la pass no puede estar vacia <br>'
}  
if( !
$eMail){
echo 
'el campo mail no puede estar vacio; <br>'
}  


if( 
strlen($user)>15 || strlen($user)<4){
echo 
'su nombre de usuario debe valer entre 15 y 5 caraacteres; <br>'

if( 
strlen($nombre)>50 || strlen($nombre)<){
echo 
'su nombre debe valer entre 50 y 4 caraacteres; <br>'

if( 
strlen($pass)>25 || strlen($pass)<5){
echo 
'la contraseña debe valer entre 25 y 5 caraacteres; <br>'

if( 
strlen($eMail)>40|| strlen($eMail)<9){
echo 
'el mail debe valer entre 39 y 10 caraacteres; <br>'


echo
' paara continuar con el registro ,vuelva atras y arregle los datos incorrectos.<br>'

}


else{




//mostrando datos introducidos
echo $current_time."<br>";
echo 
$user."<br>";
echo 
$pass."<br>";
echo 
$nombre."<br>";
echo 
$eMail."<br>";

   
   

       
$link mysql_connect("xxxxxxxxxx","xxxxxxxxx","xxxxxxxxx");
mysql_select_db("a6190584_data",$link) or die("error eligiendo database");
 
$consulta "INSERT INTO usuarios (user,nombre,pass,fechacreacion,conectad,eMail) 
VALUES ('
$user','$nombre','$pass','$eMail','$current_time','0',NOW())" ;
 
if(
mysql_query($consulta$link)){
  
$sucess TRUE;
}else{
  
$sucess FALSE;
}
 
if(
$sucess){
  echo 
"el registro ha finalizado satisfactoriamente.";
}
else{
mysql_query($consulta$link) ;
echo 
"hemos tenido problemas,vuelva a intentarlo o pongase en contacto con nosotros a traves de nuestro canal de twitter o facebook";
}
}
?>


aqui la tabla





Código (oracle8) [Seleccionar]
CREATE TABLE IF NOT EXISTS `usuarios` (
`idUsuario` INT(11) NOT NULL AUTO_INCREMENT,
  `user` VARCHAR(15) NOT NULL,
`nombre` VARCHAR(50) NOT NULL,
`pass` VARCHAR(25) NOT NULL,
`fechacreacion` VARCHAR(25) NOT NULL,
  `conectado` INT(1) NOT NULL,
  `e-mail` VARCHAR(25) NOT NULL,
  PRIMARY KEY  (`idUsuario`))


si alguien encuentra que es lo que falla se lo agradecere.he puesto, he quitado, he cambiado, pero no hay manera de que esta tire palante, lo gracioso es que es un codigo que ya habia usado solo cambie el formulario, las variables pero vamos que no se que pasa. gracias

HdM

Hola.

En la consulta de inserción estás poniendo nombres de campos (conectad,eMail), que no coinciden con los indicados en la creación de la tabla.

También en la consulta intentas pasar más valores (7 valores para 6 campos) y en distinto orden a como están indicados los campos a grabar en el insert.

Saludos.

- Nice to see you again -