formulario de registro no hace nada...(SOLUCIONADO)

Iniciado por nobo, 22 Febrero 2012, 10:07 AM

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

nobo

Solucion:

mysql_query($insertSQL, $conexionzulo);

Ni me da error, ni muestra echo, ni me lo inserta en la base de datos...

Dejo el codigo:
Código (php) [Seleccionar]

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"));

 mysql_select_db($database_conexionzulo, $conexionzulo);}}
?>

adastra

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....

nobo

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 ;)

Código (php) [Seleccionar]

<p>Formulario de Alta:   </p>
    <p>&nbsp;</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">&nbsp;</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>

adastra

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.

nobo


Castiblanco


nobo

ajajaja perfecto no me molesta ;)


Simplemente di como mejorarlo ;) Y te lo agradecere.

Sigue sin funcionar ahora lo puse asi:

Código (php) [Seleccionar]
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"));

  mysql_select_db($database_conexionzulo, $conexionzulo);}}}}
?>


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...

Pablo Videla

Código (php) [Seleccionar]

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?

Código (php) [Seleccionar]

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.

nobo

#8
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...

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

Código (php) [Seleccionar]

<?php
$con 
mysql_connect("localhost","peter","abc123");
if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("my_db"$con);

$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('
$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

if (!
mysql_query($sql,$con))
  {
  die(
'Error: ' mysql_error());
  }
echo 
"1 record added";

mysql_close($con)
?>



http://www.w3schools.com/php/php_mysql_insert.asp

Prueba lo que te digo, se que no puedo responder si no estoy completamente seguro, pero puedo darte ideas.