Foros del Web » Programando para Internet » PHP »

problema enviando datos a db

Estas en el tema de problema enviando datos a db en el foro de PHP en Foros del Web. hoy he escrito este codigo ( es para la pagina web de una especie de hotel) pero sin embargo lo unico que he podido hacer ...
  #1 (permalink)  
Antiguo 30/11/2011, 18:41
 
Fecha de Ingreso: noviembre-2011
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
problema enviando datos a db

hoy he escrito este codigo ( es para la pagina web de una especie de hotel) pero sin embargo lo unico que he podido hacer que haga es que muestre error de registro y estuve mas de una hora revisandolo, alguna sugerencia??
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?
mysql_connect
("hosting","usuario","contraseña"); 
mysql_select_db("nombre de db"); 
       
$nombre = @$_POST['nombre'];
     
$apellido = @$_POST['apellido'];
          
$dni = @$_POST['dni'];
     
$telefono = @$_POST['telefono'];
        
$email = @$_POST['email'];
    
$direccion = @$_POST['direccion'];
     
$vehiculo = @$_POST['vehiculo'];
        
$color = @$_POST['color'];
      
$patente = @$_POST['patente'];
  
$cantmayores = @$_POST['cantmayores'];
  
$cantmenores = @$_POST['cantmenores'];
  
$adicionales = @$_POST['adicionales'];
 
$fechaingreso = @$_POST['fechaingreso'];
  
$ultimoabono = @$_POST['ultimoabono'];
  
$observaciones = @$_POST['observaciones'];
      
$camping = @$_POST['camping'];
      
$quincho = @$_POST['quincho'];
       
mysql_query("INSERT INTO usuarios (nombre,apellido,dni,telefono,email,direccion,vehiculo,color,patente,cantmayores,cantmenores,adicional,fechaingreso,ultimoabono,observaciones,camping,quincho) VALUES ('$nombre','$apellido','$dni','$telefono','$email','$direccion','$vehiculo','$color','$patente','$cantmayores','$cantmenores','$adicionales','$fechaingreso','$ultimoabono','$observaciones','$camping','$quincho')") or die("Error de registro");
/*
nombre,apellido,dni,telefono,email,direccion,vehiculo,color,patente,cantmayores,cantmenores,adicional,fechaingreso,ultimoabono,observaciones,camping,quincho*/

?>
<h1 align="center">Nuevo cliente</h1>
<form>
<form action='nuevousuario.php' method='POST'>
            <table align="center">
                <tr>
                    <td width="132">
                        Nombre
                    </td>
                    <td width="106">
                        <input type="text" name="nombre" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>
                        Apellido
                    </td>
                    <td>
                        <input type="text" name="apellido" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>
                        D.N.I
                    </td>
                    <td>
                        <input type="text" name="dni" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Teléfono</td>
                    <td>
                        <input type="text" name="telefono" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>E-Mail</td>
                    <td>
                        <input type="text" name="email" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>Dirección</td>
                    <td>
                        <input type="text" name="direccion" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>
                        Vehículo</td>
                    <td>
                        <input type="text" name="vehiculo" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Color</td>
                    <td>
                        <input type="text" name="color" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>Patente</td>
                    <td>
                        <input type="text" name="patente" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Cantidad de Mayores</td>
                    <td>
                        <input type="text" name="cantmayores" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Cantidad de menores</td>
                    <td>
                        <input type="text" name="cantmenores" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>
                        Adicionales</td>
                    <td>
                        <input type="text" name="adicionales" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Fecha de ingreso</td>
                    <td>
                        <input type="text" name="fechaingreso" size="15" maxlength="30">
                    </td>
                </tr>
              <tr>
                    <td>Último día abonado</td>
                    <td>
                        <input type="text" name="ultimoabono" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Observaciones</td>
                    <td>
                        <textarea name="observaciones" cols="31" rows="5"></textarea>
                    </td>
                </tr> 
               <tr>
                    <td>Esta actualmente en el camping?</td>
                    <td>
                        <input type="radio" name="camping">
                    </td>
                </tr>   
                <tr>
                    <td>Usa un quincho?</td>
                    <td>
                        <input type="radio" name="quincho">
                    </td>
                </tr>  
            </table>
            <center><input type="submit" value="Registrar"></center>
        </form>



</form>
</body>
</html>
  #2 (permalink)  
Antiguo 30/11/2011, 19:17
 
Fecha de Ingreso: noviembre-2011
Mensajes: 27
Antigüedad: 12 años, 4 meses
Puntos: 3
Respuesta: problema enviando datos a db

Buenas,

De movida te diria que le agregues a tu codigo el mysql_error, asi sabes que error te tira.
mysql_query($q) or die(mysql_error());

Dos recomendaciones para mi gusto, usar la query en un string aparte, y tambien en el string de la query concantenar las variables.

Te quedaria algo asi


Código PHP:
$q "INSERT INTO usuarios (nombre,apellido,dni,telefono,email,direccion,vehiculo,color,patente,cantmayores,cantmenores,adicional,fechaingreso,ultimoabono,observaciones,camping,quincho) VALUES ('".$nombre."','".$apellido."','".$dni."','".$telefono."','".$email."','".$direccion."','".$vehiculo."','".$color."','".$patente."','".$cantmayores."','".$cantmenores."','".$adicionales."','".$fechaingreso."','".$ultimoabono."','".$observaciones."','".$camping."','".$quincho."');";
mysql_query($q) or die(mysql_error()); 
Proba asi, y sino decinos que error te tira.

Saludos,
  #3 (permalink)  
Antiguo 30/11/2011, 22:14
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: problema enviando datos a db

reemplazar <? por esto <?php
__________________
la la la
  #4 (permalink)  
Antiguo 01/12/2011, 12:42
 
Fecha de Ingreso: noviembre-2011
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: problema enviando datos a db

codigo actualizado y codigo de error también, he aplicado las sugerencias de sus respuestas y se comunica con la db pero simplemente deja todos los campos en blanco
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?php
mysql_connect
("host","user","contraseña"); 
mysql_select_db("nombre de db"); 
       
$nombre = @$_POST['nombre'];
     
$apellido = @$_POST['apellido'];
          
$dni = @$_POST['dni'];
     
$telefono = @$_POST['telefono'];
        
$email = @$_POST['email'];
    
$direccion = @$_POST['direccion'];
     
$vehiculo = @$_POST['vehiculo'];
        
$color = @$_POST['color'];
      
$patente = @$_POST['patente'];
  
$cantmayores = @$_POST['cantmayores'];
  
$cantmenores = @$_POST['cantmenores'];
  
$adicionales = @$_POST['adicionales'];
 
$fechaingreso = @$_POST['fechaingreso'];
  
$ultimoabono = @$_POST['ultimoabono'];
  
$observaciones = @$_POST['observaciones'];
      
$camping = @$_POST['camping'];
      
$quincho = @$_POST['quincho'];

/*
nombre,apellido,dni,telefono,email,direccion,vehiculo,color,patente,cantmayores,cantmenores,adicional,fechaingreso,ultimoabono,observaciones,camping,quincho*/

$q "INSERT INTO usuarios (nombre,apellido,dni,telefono,email,direccion,vehiculo,color,patente,cantmayores,cantmenores,adicional,fechaingreso,ultimoabono,observaciones,actual,quincho) VALUES ('".$nombre."','".$apellido."','".$dni."','".$telefono."','".$email."','".$direccion."','".$vehiculo."','".$color."','".$patente."','".$cantmayores."','".$cantmenores."','".$adicionales."','".$fechaingreso."','".$ultimoabono."','".$observaciones."','".$camping."','".$quincho."');";
mysql_query($q) or die(mysql_error());  
?>
<h1 align="center">Nuevo cliente</h1>
<form>
<form action='nuevousuario.php' method='POST'>
            <table align="center">
                <tr>
                    <td width="132">
                        Nombre
                    </td>
                    <td width="106">
                        <input type="text" name="nombre" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>
                        Apellido
                    </td>
                    <td>
                        <input type="text" name="apellido" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>
                        D.N.I
                    </td>
                    <td>
                        <input type="text" name="dni" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Teléfono</td>
                    <td>
                        <input type="text" name="telefono" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>E-Mail</td>
                    <td>
                        <input type="text" name="email" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>Dirección</td>
                    <td>
                        <input type="text" name="direccion" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>
                        Vehículo</td>
                    <td>
                        <input type="text" name="vehiculo" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Color</td>
                    <td>
                        <input type="text" name="color" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>Patente</td>
                    <td>
                        <input type="text" name="patente" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Cantidad de Mayores</td>
                    <td>
                        <input type="text" name="cantmayores" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Cantidad de menores</td>
                    <td>
                        <input type="text" name="cantmenores" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>
                        Adicionales</td>
                    <td>
                        <input type="text" name="adicionales" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Fecha de ingreso</td>
                    <td>
                        <input type="text" name="fechaingreso" size="15" maxlength="30">
                    </td>
                </tr>
              <tr>
                    <td>Último día abonado</td>
                    <td>
                        <input type="text" name="ultimoabono" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Observaciones</td>
                    <td>
                        <textarea name="observaciones" cols="31" rows="5"></textarea>
                    </td>
                </tr> 
               <tr>
                    <td>Esta actualmente en el camping?</td>
                    <td>
                        <input type="radio" name="camping">
                    </td>
                </tr>   
                <tr>
                    <td>Usa un quincho?</td>
                    <td>
                        <input type="radio" name="quincho">
                    </td>
                </tr>  
            </table>
            <center><input type="submit" value="Registrar"></center>
        </form>



</form>
</body>
</html>
[url=http://www.imagengratis.org/?v=problemayy5dy.jpg][img]http://www.imagengratis.org/thumbs/problemayy5dy.jpg[/img][/url]
  #5 (permalink)  
Antiguo 01/12/2011, 12:48
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: problema enviando datos a db

¿Cuál es el error que te muestra mysql_error?
  #6 (permalink)  
Antiguo 01/12/2011, 12:53
 
Fecha de Ingreso: noviembre-2011
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: problema enviando datos a db

Cita:
Iniciado por Arkaitz Ver Mensaje
¿Cuál es el error que te muestra mysql_error?
ninguno, el problema es que envía todas las variables en blanco como muestra la imagen
  #7 (permalink)  
Antiguo 01/12/2011, 12:54
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: problema enviando datos a db

Hola, tenés que preguntarle a php si el boton fue presionado, para eso ponele un name a botón por ejemplo asi:

<input type="submit" value="Registrar" name="Registrar">

entonces le preguntamos, si fue presionado que ejecute la inserción de datos, sino NO.
uno de los problemas que veo es ese, al entrar y no haber nada que frene la consulta, se ejecuta y sin datos puesto que todos los POST están vacion

preguntamos si fue presionado el botón asi:
if(isset($_POST['Registrar']))
{


ejecutamos la consulta aquí



}




.
__________________
la la la
  #8 (permalink)  
Antiguo 01/12/2011, 13:07
 
Fecha de Ingreso: noviembre-2011
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: problema enviando datos a db

estoy seguro que es eso, pero seguramente lo aplique mal

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?php

mysql_connect
("mysql8.000webhost.com","a1340356_noc","a1340356"); 
mysql_select_db("a1340356_noc"); 
       
$nombre = @$_POST['nombre'];
     
$apellido = @$_POST['apellido'];
          
$dni = @$_POST['dni'];
     
$telefono = @$_POST['telefono'];
        
$email = @$_POST['email'];
    
$direccion = @$_POST['direccion'];
     
$vehiculo = @$_POST['vehiculo'];
        
$color = @$_POST['color'];
      
$patente = @$_POST['patente'];
  
$cantmayores = @$_POST['cantmayores'];
  
$cantmenores = @$_POST['cantmenores'];
  
$adicionales = @$_POST['adicionales'];
 
$fechaingreso = @$_POST['fechaingreso'];
  
$ultimoabono = @$_POST['ultimoabono'];
  
$observaciones = @$_POST['observaciones'];
      
$camping = @$_POST['camping'];
      
$quincho = @$_POST['quincho'];
if(isset(
$_POST['Registrar']))
{
/*
nombre,apellido,dni,telefono,email,direccion,vehiculo,color,patente,cantmayores,cantmenores,adicional,fechaingreso,ultimoabono,observaciones,camping,quincho*/
$q "INSERT INTO usuarios (nombre,apellido,dni,telefono,email,direccion,vehiculo,color,patente,cantmayores,cantmenores,adicional,fechaingreso,ultimoabono,observaciones,actual,quincho) VALUES ('".$nombre."','".$apellido."','".$dni."','".$telefono."','".$email."','".$direccion."','".$vehiculo."','".$color."','".$patente."','".$cantmayores."','".$cantmenores."','".$adicionales."','".$fechaingreso."','".$ultimoabono."','".$observaciones."','".$camping."','".$quincho."');";
mysql_query($q) or die(mysql_error());  
}
?>
<h1 align="center">Nuevo cliente</h1>
<form>
<form action='nuevousuario.php' method='POST'>
            <table align="center">
                <tr>
                    <td width="132">
                        Nombre
                    </td>
                    <td width="106">
                        <input type="text" name="nombre" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>
                        Apellido
                    </td>
                    <td>
                        <input type="text" name="apellido" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>
                        D.N.I
                    </td>
                    <td>
                        <input type="text" name="dni" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Teléfono</td>
                    <td>
                        <input type="text" name="telefono" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>E-Mail</td>
                    <td>
                        <input type="text" name="email" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>Dirección</td>
                    <td>
                        <input type="text" name="direccion" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>
                        Vehículo</td>
                    <td>
                        <input type="text" name="vehiculo" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Color</td>
                    <td>
                        <input type="text" name="color" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>Patente</td>
                    <td>
                        <input type="text" name="patente" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Cantidad de Mayores</td>
                    <td>
                        <input type="text" name="cantmayores" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Cantidad de menores</td>
                    <td>
                        <input type="text" name="cantmenores" size="15" maxlength="30">
                </tr>
                <tr>
                    <td>
                        Adicionales</td>
                    <td>
                        <input type="text" name="adicionales" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Fecha de ingreso</td>
                    <td>
                        <input type="text" name="fechaingreso" size="15" maxlength="30">
                    </td>
                </tr>
              <tr>
                    <td>Último día abonado</td>
                    <td>
                        <input type="text" name="ultimoabono" size="15" maxlength="30">
                    </td>
                </tr>
                <tr>
                    <td>Observaciones</td>
                    <td>
                        <textarea name="observaciones" cols="31" rows="5"></textarea>
                    </td>
                </tr> 
               <tr>
                    <td>Esta actualmente en el camping?</td>
                    <td>
                        <input type="radio" name="camping">
                    </td>
                </tr>   
                <tr>
                    <td>Usa un quincho?</td>
                    <td>
                        <input type="radio" name="quincho">
                    </td>
                </tr>  
            </table>
            <center><input type="submit" value="Registrar" name="Registrar" id="Registrar"></center>
        </form>



</form>
</body>
</html>
]
  #9 (permalink)  
Antiguo 01/12/2011, 13:11
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: problema enviando datos a db

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['Registrar']))
  3. {
  4. mysql_connect("mysql8.000webhost.com","a1340356_noc","a1340356");
  5. mysql_select_db("a1340356_noc");
  6.        $nombre = @$_POST['nombre'];
  7.      $apellido = @$_POST['apellido'];
  8.           $dni = @$_POST['dni'];
  9.      $telefono = @$_POST['telefono'];
  10.         $email = @$_POST['email'];
  11.     $direccion = @$_POST['direccion'];
  12.      $vehiculo = @$_POST['vehiculo'];
  13.         $color = @$_POST['color'];
  14.       $patente = @$_POST['patente'];
  15.   $cantmayores = @$_POST['cantmayores'];
  16.   $cantmenores = @$_POST['cantmenores'];
  17.   $adicionales = @$_POST['adicionales'];
  18.  $fechaingreso = @$_POST['fechaingreso'];
  19.   $ultimoabono = @$_POST['ultimoabono'];
  20.   $observaciones = @$_POST['observaciones'];
  21.       $camping = @$_POST['camping'];
  22.       $quincho = @$_POST['quincho'];
  23.  
  24. /*
  25. nombre,apellido,dni,telefono,email,direccion,vehiculo,color,patente,cantmayores,cantmenores,adicional,fechaingreso,ultimoabono,observaciones,camping,quincho*/
  26. $q = "INSERT INTO usuarios (nombre,apellido,dni,telefono,email,direccion,vehiculo,color,patente,cantmayores,cantmenores,adicional,fechaingreso,ultimoabono,observaciones,actual,quincho) VALUES ('".$nombre."','".$apellido."','".$dni."','".$telefono."','".$email."','".$direccion."','".$vehiculo."','".$color."','".$patente."','".$cantmayores."','".$cantmenores."','".$adicionales."','".$fechaingreso."','".$ultimoabono."','".$observaciones."','".$camping."','".$quincho."');";
  27. }
  28. ?>
__________________
la la la
  #10 (permalink)  
Antiguo 01/12/2011, 13:14
 
Fecha de Ingreso: noviembre-2011
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: problema enviando datos a db

ya lo había probado asi, tampoco funcionaba
nuevo problema: ya ni siquiera envía el formulario en blanco
  #11 (permalink)  
Antiguo 01/12/2011, 13:17
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: problema enviando datos a db

reemplazá esto:

<form action='nuevousuario.php' method='POST'>

por esto
<form action='' method='POST'>
__________________
la la la
  #12 (permalink)  
Antiguo 01/12/2011, 13:24
 
Fecha de Ingreso: noviembre-2011
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: problema enviando datos a db

gracias a tu aporte, me he dado cuenta de algo
Código PHP:
Ver original
  1. ?>
  2. <h1 align="center">Nuevo cliente</h1>
  3. <form>
  4. <form action='nuevousuario.php' method='POST'>
  5.             <table align="center">
  6.                 <tr>
estaba el form llamado 2 veces,

Gracias a todos por su ayuda y consejos
  #13 (permalink)  
Antiguo 01/12/2011, 13:48
 
Fecha de Ingreso: septiembre-2010
Mensajes: 51
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: problema enviando datos a db

acordate de cambiar las pw porq las pusiste ahi.
salu2
  #14 (permalink)  
Antiguo 01/12/2011, 13:54
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: problema enviando datos a db

ve si estas guardando bien los valores que coloca el usuario en las variables realiza un echo $variable. por lo que me di cuenta lo le pasas la coneccion a la query

Etiquetas: database, insertinto
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 23:52.