Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2010, 16:37
rufus
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
problema al insertar datos en mysql al intentar validar

Holas.

Que no sé que he hecho pero ya no se me inserta el distribuidor en la base de datos y todo a sido al crear una session (sesion_start();) para guardar los datos, por que al validar con javascript si habia algun campo erroneo se perdian todos los campos. Y usando la sesion se me guardan los datos introducidos pero....

tengo una doble validacion (la que he hecho con php seguro que me está dando problemas) con php y javascript. os pongo todos los codigos html, javascript y php haber si encontrais el problema.( por que yo no lo encuentro).

secciondistribuidor.php:
Código:
<script language="JavaScript" type="text/javascript">


function revisar(miFormu) {
	if(miFormu.nombre.value.length ==0) {
		alert('Tienes que introducir un nombre') ;
		return false ;
	}
	if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(miFormu.email.value)) {
		alert('Debes poner un email válido.') ;
		return false ;
	}
	if(miFormu.telefono.value.length < 9){
		alert('el telefono tiene que tener 9 digitos y tienen que ser numeros') ;
		return false ;
	}

else{
alert('Distribuidor insertado!!');
return false;
	}
}



</script>

html del formulario de secciondistribuidor.php:

Código:
<form name="miformu" method="post" action="validar.php"  onSubmit="revisar(this);">
<ul>

<li>	Nombre: <input type="text" name="nombre" id="nombre" size="40" value="<?php if (isset($_SESSION['nombre'])){ echo $_SESSION['nombre']; } ?>"/> </li>
	
	<li>Email: <input type="text" name="email" id="email" size="40"value="<?php if (isset($_SESSION['email'])){ echo $_SESSION['email']; } ?>"/> </li>
	
	
	<li>Telefono: <input type="text" name="telefono" id="telefono" size="9"value="<?php if (isset($_SESSION['telefono'])){ echo $_SESSION['telefono']; } ?>"/> </li>


<li>Comentarios:

<textarea cols="30" rows="7" name="comentario" id="comentarios" value="<?php if (isset($_SESSION['comentario'])){ echo $_SESSION['comentario']; } ?>"/> </textarea>	
</li>


<li>

<input type="submit" name="enviar1" value="Enviar"id="enviar">
</li>
</ul>
</form>

php que ingresa los datos en la bd al pulsar el boton enviar del formulario:

Código PHP:
<?php if (isset($_POST["enviar1"])) {
    
$nombre=$_SESSION['nombre'];
    
$email=$_SESSION['email'];
    
$telefono=$_SESSION['telefono'];
    
$comentario=$_SESSION['comentario'];
    
    
    
$ssql "insert into distribuidor (nombre, email, telefono, comentario) values (('$nombre'),('$email'),('$telefono'),('$comentario'))";
    
$conexionmysql_connect("localhost""root""");
    
    
mysql_select_db("abcerotica"$conexion);
    
    if (
mysql_query($ssql$conexion)){
        echo 
"sentencia ingresada!";
    }else{
        echo 
"no inserte nada!" ;
    }
    
    
    
    
    
}

?>

archivo externo php para crear la sesion_start() y validar de lado del servidor.

validar.php:
Código PHP:
<?php
//iniciamos la sesion
session_start();
//guardamos los valores que fueron enviados por el formulario en variables de sesion
$_SESSION['nombre'] = $_POST['nombre'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['telefono'] = $_POST['telefono'];
$_SESSION['comentario'] = $_POST['comentario'];
//haces la validacion de los mismos...
if ($_POST['nombre']==''
{
echo 
"tienes que introducir un nombre";
header ("Location: secciondistribuidor.php");
}
elseif (
$_POST['email']==''){
    
    echo 
"tienes que introducir un email";
    
header ("Location: secciondistribuidor.php");
    }
    elseif (
$_POST['telefono']==''){
    
    echo 
"tienes que introducir un telefono y no puedes introducir letras";
    
header ("Location: secciondistribuidor.php");
}
else
{

    
header ("Location: secciondistribuidor.php");
    
session_destroy();
    exit;
    
}

?>