Autor
|
Tema: formulario de registro no hace nada...(SOLUCIONADO) (Leído 5,574 veces)
|
nobo
Desconectado
Mensajes: 74
|
Solucion: mysql_query($insertSQL, $conexionzulo); Ni me da error, ni muestra echo, ni me lo inserta en la base de datos... Dejo el codigo: if (isset($_POST) && isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == 'http://localhost/zulo/alta_usuario.php' && !empty($_POST)) { $pass = $_POST["strPassword"]; $password = $_POST["password"]; $email = $_POST["strEmail"]; $mail = $_POST["mail"]; $telefono = $_POST["intNtelf"]; $telefono2 = $_POST["telefono"]; if($pass!=$password) { echo "Las contraseñas no coinciden"; } if($email!=$mail) { echo "El email no coincide"; } if($telefono!=$telefono2) { echo "Los telefonos no coinciden"; }else { $checkuser = comprobaruser($_POST["strNick"]); if ($checkuser !=0) { echo "El usuario ya existe"; } $checkmail = comprobarmail($_POST["strEmail"]); if ($checkmail !=0){ echo "El mail" .$email. "ya existe"; } } }else { if (isset($_POST["form1"])) { $insertSQL = sprintf("INSERT INTO tblusuario (strNombre, strEmail, intActivo, strPassword, strDireccion, strNick, intCpostal, strProvincia, strPoblacion, intNtelf) VALUES (%s, %s, %s, %s, %s)", GetSQLValueString($_POST['strNombre'], "text"), GetSQLValueString($_POST['strEmail'], "text"), GetSQLValueString($_POST['intActivo'], "int"), GetSQLValueString($_POST['strPassword'], "text"), GetSQLValueString($_POST['strDireccion'], "text"), GetSQLValueString($_POST['strNick'], "text"), GetSQLValueString($_POST['intCpostal'], "int"), GetSQLValueString($_POST['strProvincia'], "text"), GetSQLValueString($_POST['strPoblacion'], "text"), GetSQLValueString($_POST['intNtelf'], "int")); ?>
|
|
« Última modificación: 23 Febrero 2012, 22:14 pm por nobo »
|
En línea
|
|
|
|
adastra
Endless Learner
Ex-Staff
Desconectado
Mensajes: 885
http://thehackerway.com/
|
A lo mejor resultará muy obvio, pero si no hace nada, probablemente es que el botón que deberia hacer el sumbit no esta dentro de un <form> Publica la página entera para poderlo ver....
|
|
|
En línea
|
|
|
|
nobo
Desconectado
Mensajes: 74
|
Si esta dentro pero bueno todas las respuestas o sugerencias por muy obvias que sean son bien recibidas porque no se... Podria ser por los if? Que sea elseif ? ok ahi va <p>Formulario de Alta: </p> <p> </p> <form action="alta_usuario.php" method="post" name="form1" id="form1"> <table align="center"> <tr valign="baseline"> <td nowrap="nowrap" align="right">Nick:</td> <td><span id="sprytextfield1"> <input type="text" name="strNick" value="" size="32" /> <span class="textfieldRequiredMsg">Este campo es obligatorio.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Email:</td> <td><span id="sprytextfield2"> <input type="text" name="strEmail" value="" size="32" /> <span class="textfieldRequiredMsg">Este campo es obligatorio.</span><span class="textfieldInvalidFormatMsg">El Email no es correcto.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Repite Email:</td> <td><span id="sprytextfield3"> <input type="text" name="mail" value="" size="32" /> <span class="textfieldRequiredMsg">Este campo es obligatorio.</span><span class="textfieldInvalidFormatMsg">El Email no es correcto.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Contraseña:</td> <td><span id="sprytextfield4"> <input type="password" name="strPassword" value="" size="32" /> <span class="textfieldRequiredMsg">Este campo es obligatorio.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Repite Contraseña:</td> <td><span id="sprytextfield5"> <input type="password" name="password" value="" size="32" /> <span class="textfieldRequiredMsg">Este campo es obligatorio.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Nombre y Apellidos:</td> <td><span id="sprytextfield6"> <input type="text" name="strNombre" value="" size="32" /> <span class="textfieldRequiredMsg">Este campo es obligatorio.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Direccion:</td> <td><span id="sprytextfield7"> <input type="text" name="strDireccion" value="" size="32" /> <span class="textfieldRequiredMsg">Necesitamos la direccion para enviar el pedido.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Codigo Postal:</td> <td><span id="sprytextfield8"> <input type="text" name="intCpostal" value="" size="32" /> <span class="textfieldRequiredMsg">Necesitamos el codigo postal para enviar el pedido.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Poblacion:</td> <td><span id="sprytextfield9"> <input type="text" name="strPoblacion" value="" size="32" /> <span class="textfieldRequiredMsg">Necesitamos la provincia para enviar el pedido.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Provincia:</td> <td><span id="sprytextfield10"> <input type="text" name="strProvincia" value="" size="32" /> <span class="textfieldRequiredMsg">Necesitamos la poblacion para enviar el pedido.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Telefono:</td> <td><span id="sprytextfield11"> <input type="text" name="intNtelf" value="" size="32" /> <span class="textfieldRequiredMsg">Necesitamos el telefono para confirmar el pedido.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Repite Telefono:</td> <td><span id="sprytextfield12"> <input type="text" name="telefono" value="" size="32" /> <span class="textfieldRequiredMsg">Este campo es obligatorio.</span></span></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right"> </td> <td><input type="submit" value="Registrame!" /></td> </tr> </table> <input type="hidden" name="intActivo" value="1" /> <input type="hidden" name="MM_insert" value="form1" /> </form>
|
|
|
En línea
|
|
|
|
adastra
Endless Learner
Ex-Staff
Desconectado
Mensajes: 885
http://thehackerway.com/
|
El código es un poco "spaguetti" pero los if no deberian fallar, si dices que no se ejecutan, lo que yo haria sera imprimir por pantalla (echo) cada una de las "precondiciones-condiciones" de la logica que has implementando, es decir, el valor de: echo(isset($_POST)) echo(isset($_SERVER['HTTP_REFERER'])) echo($_SERVER['HTTP_REFERER'] == ' http://localhost/zulo/alta_usuario.php')echo(!empty($_POST)) Seguramente lo que ocurre es que no se ejecuta nada porque no se cumple la condición (isset($_POST) && isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == ' http://localhost/zulo/alta_usuario.php' && !empty($_POST)) Hechale un vistazo, ya que como utilizas "&&" en cuando una retorne "false" la condición no será cumplida.
|
|
|
En línea
|
|
|
|
nobo
Desconectado
Mensajes: 74
|
Que significa spaguetti?
|
|
|
En línea
|
|
|
|
Castiblanco
|
:http://es.wikipedia.org/wiki/C%C3%B3digo_spaghetti
Eso básicamente...
|
|
|
En línea
|
|
|
|
nobo
Desconectado
Mensajes: 74
|
ajajaja perfecto no me molesta Simplemente di como mejorarlo Y te lo agradecere. Sigue sin funcionar ahora lo puse asi: if ( isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] =='http://localhost/zulo/alta_usuario.php' && ($_POST != null)) { $nick = $_POST["strNick"]; $pass = $_POST["strPassword"]; $password = $_POST["password"]; $email = $_POST["strEmail"]; $mail = $_POST["mail"]; $telefono = $_POST["intNtelf"]; $telefono2 = $_POST["telefono"]; if($pass!=$password) { echo "Las contraseñas no coinciden"; } if($email!=$mail) { echo "El email no coincide"; } if($telefono!=$telefono2) { echo "Los telefonos no coinciden"; }else { $checkuser = comprobaruser($_POST["strNick"]); if ($checkuser !=0) { echo "El usuario ".$nick. " ya existe"; } $checkmail = comprobarmail($_POST["strEmail"]); if ($checkmail !=0){ echo "El mail " .$email. " ya existe"; } else { if (isset($_POST["form1"])) { $insertSQL = sprintf("INSERT INTO tblusuario (strNombre, strEmail, intActivo, strPassword, strDireccion, strNick, intCpostal, strProvincia, strPoblacion, intNtelf) VALUES (%s, %s, %s, %s, %s)", GetSQLValueString($_POST['strNombre'], "text"), GetSQLValueString($_POST['strEmail'], "text"), GetSQLValueString($_POST['intActivo'], "int"), GetSQLValueString($_POST['strPassword'], "text"), GetSQLValueString($_POST['strDireccion'], "text"), GetSQLValueString($_POST['strNick'], "text"), GetSQLValueString($_POST['intCpostal'], "int"), GetSQLValueString($_POST['strProvincia'], "text"), GetSQLValueString($_POST['strPoblacion'], "text"), GetSQLValueString($_POST['intNtelf'], "int")); ?>
Hasta aqui me funciona: if($pass!=$password) { echo "Las contraseñas no coinciden"; } if($email!=$mail) { echo "El email no coincide"; } if($telefono!=$telefono2) { echo "Los telefonos no coinciden"; }else { $checkuser = comprobaruser($_POST["strNick"]); if ($checkuser !=0) { echo "El usuario ".$nick. " ya existe"; } $checkmail = comprobarmail($_POST["strEmail"]); if ($checkmail !=0){ echo "El mail " .$email. " ya existe"; } Pero el else no me funciona :S Es decir no inserta los datos en la base de datos...
|
|
|
En línea
|
|
|
|
Pablo Videla
|
if (isset($_POST) && isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == 'http://localhost/zulo/alta_usuario.php' && !empty($_POST)) {
El codigo anterior debe contener en post el nombre del formulario a recibir? if (isset($_POST['idFormulario']) && isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == 'http://localhost/zulo/alta_usuario.php' && !empty($_POST)) {
Donde debes reemplazar el idFormulario por el name o id del formulario original, prueba eso.
|
|
|
En línea
|
|
|
|
nobo
Desconectado
Mensajes: 74
|
En un principio creo que no... Porque esta funcionando perfectamente el comprobar user mail y todo eso... Lo que no hace es introducir los datos (else) en la base de datos.... De todas formas lo pruebo y te digo EDITO: Sigue pasando lo mismo No hace nada... Si comprueba el email porque si existe me hace el echo, las contraseñas tambien y el nick tambien...
|
|
« Última modificación: 23 Febrero 2012, 09:35 am por nobo »
|
En línea
|
|
|
|
Pablo Videla
|
Mira, no estoy seguro porque no estoy probando nada, pero leyendo, puede que no te hayas conectado a la bd, porque primero debes conectarte y luego hacer el insert, mira esto <?php if (!$con) { } $sql="INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"; { } echo "1 record added"; ?>
http://www.w3schools.com/php/php_mysql_insert.aspPrueba lo que te digo, se que no puedo responder si no estoy completamente seguro, pero puedo darte ideas.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
La unidad grabadora no hace nada
Software
|
Paya_pollo
|
2
|
1,977
|
12 Noviembre 2005, 21:26 pm
por Paya_pollo
|
|
|
Problema con formulario de registro...
PHP
|
Maties 360
|
6
|
3,211
|
1 Agosto 2007, 17:25 pm
por Maties 360
|
|
|
registrar.php que no hace nada??
PHP
|
Anonx
|
3
|
2,263
|
13 Febrero 2013, 00:15 am
por EFEX
|
|
|
Formulario que no sucede nada en codeigniter
PHP
|
kur79
|
0
|
1,994
|
20 Marzo 2017, 19:07 pm
por kur79
|
|
|
MacBook explota de la nada y se hace viral en Reddit
Noticias
|
wolfbcn
|
6
|
2,199
|
30 Junio 2019, 11:46 am
por Machacador
|
|