Foros del Web » Programando para Internet » PHP »

Problema con formulario

Estas en el tema de Problema con formulario en el foro de PHP en Foros del Web. Tengo un problema con un formulario. Una vez que el usuario inserta todos los datos, los mismos se manda a la página inserta.php. donde se ...
  #1 (permalink)  
Antiguo 25/10/2006, 05:57
 
Fecha de Ingreso: septiembre-2006
Mensajes: 48
Antigüedad: 18 años, 2 meses
Puntos: 0
Problema con formulario

Tengo un problema con un formulario.
Una vez que el usuario inserta todos los datos, los mismos se manda a la página inserta.php. donde se endria que insertar el registro en la tabla tblcontactos.
El formulario tiene este código:
<style type="text/css">
<!--
body {
background-color: #6699FF;
}
.Estilo1 {
color: #FFFFFF;
font-weight: bold;
font-size: 24px;
}
.Estilo2 {color: #FFFFFF}
-->
</style>
<div align="center" class="Estilo1"><u>Formulario de Registro </u></div>
<table width="780" border="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><strong><span class="Estilo2">Si eres nuevo en esta p&aacute;gina, primero deber&aacute;s registrarte.</span></strong></td>
</tr>
<tr>
<td><strong><span class="Estilo2">Para ello debes rellenar este formulario con tus datos personales. </span></strong></td>
</tr>
</table>

<form id="form1" name="form1" method="post" action="inserta.php">
<label><strong>Apellido</strong>
<input name="apellido" type="text" tabindex="1" size="30" />
</label>
<label><strong>Nombres</strong>
<input name="nombres" type="text" tabindex="2" size="50" />
</label>
</form>
<form id="form2" name="form2" method="post" action="">
<label><strong>DNI</strong>
<input name="dni" type="text" id="dni" tabindex="3" size="10" />
</label>
</form>
<form id="form3" name="form3" method="post" action="">
<label><strong>Telefóno</strong>
<input name="telefono" type="text" id="telefono" tabindex="4" size="15" />
</label>
</form>
<form id="form4" name="form4" method="post" action="">
<label><strong>Celular / M&oacute;vil</strong>
<input name="celular" type="text" id="celular" tabindex="5" size="15" />
</label>
</form>
<form id="form5" name="form5" method="post" action="">
<label><strong>Domicilio</strong>
<input name="domicilio" type="text" id="domicilio" tabindex="6" size="100" />
</label>
</form>
<form id="form6" name="form6" method="post" action="">
<label><strong>Mail</strong>
<input name="mail" type="text" id="mail" tabindex="7" size="30" />
</label>
</form>
<form id="form7" name="form7" method="post" action="">
<label><strong>Contraseña</strong>
<input name="contrase&ntilde;a" type="password" id="contrase&ntilde;a" tabindex="8" />
</label>
<label><strong>Repetir contraseña</strong>
<input name="repcont" type="password" id="repcont" tabindex="9" />
</label>
</form>
<form id="form8" name="form8" method="post" action="">
<label>
<input type="submit" name="Submit" value="Enviar" tabindex="10" />
</label>
<input type="reset" name="Submit2" value="Borrar campos" tabindex="10" />
</form>

Y Inserta.php este otro:
<?php
$apellido=$_POST['apellido'];
$nombre=$_POST['nombres'];
$dni=$_POST['dni'];
$telefono=$_POST['telefono'];
$celular=$_POST['celular'];
$domicilio=$_POST['domicilio'];
$mail=$_POST['mail'];
$contraseña=$_POST['contraseña'];
$repcont=$_POST['repcont'];
$conexion = mysql_connect("localhost", "","");
mysql_select_db("contactos",$conexion);
$sql =" INSERT INTO tblcontactos (apellido,nombres,dni,telefono,celular,domicilio,m ail,contraseña,repcont) VALUES ('$apellido','$nombre','$dni','$telefono','$celula r','$domicilio','$mail','$contraseña','$repcont',) ";
$result = mysql_query($sql);
if ($sql)
{
echo "<font color=ff0000 size=4> El registro ha sido incluido </font>\n";
}
else
{
echo "<p>¡No se ha podido introducir.!</p>\n";
exit;
}
mysql_close($conexion);
?>
</body>
</html>

¿Qué estoy haciendo mal que no se inserta el registro en la base?
  #2 (permalink)  
Antiguo 25/10/2006, 06:31
 
Fecha de Ingreso: agosto-2003
Mensajes: 68
Antigüedad: 21 años, 3 meses
Puntos: 0
Si todos los campos de la tablas son los correcto, el problema lo tiene es en el ultimo campo de VALUES el cual termina con una coma "," elimina esa "," y prueba de nuevo...
Código PHP:
$sql =" INSERT INTO tblcontactos (apellido,nombres,dni,telefono,celular,domicilio,m ail,contraseña,repcont) VALUES ('$apellido','$nombre','$dni','$telefono','$celula r','$domicilio','$mail','$contraseña','$repcont',) "
Lo correcto seria:
Código PHP:
$sql =" INSERT INTO tblcontactos (apellido,nombres,dni,telefono,celular,domicilio,m ail,contraseña,repcont) VALUES ('$apellido','$nombre','$dni','$telefono','$celula r','$domicilio','$mail','$contraseña','$repcont') ";
$result mysql_query($sql); 
__________________
AdsParaTuWeb.com
  #3 (permalink)  
Antiguo 25/10/2006, 07:04
 
Fecha de Ingreso: septiembre-2006
Mensajes: 48
Antigüedad: 18 años, 2 meses
Puntos: 0
Sigo con el mismo problema
  #4 (permalink)  
Antiguo 25/10/2006, 07:11
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 18 años, 6 meses
Puntos: 3
Cita:
Iniciado por faquinte Ver Mensaje
Tengo un problema con un formulario.
Una vez que el usuario inserta todos los datos, los mismos se manda a la página inserta.php. donde se endria que insertar el registro en la tabla tblcontactos.
El formulario tiene este código:
<style type="text/css">
<!--
body {
background-color: #6699FF;
}
.Estilo1 {
color: #FFFFFF;
font-weight: bold;
font-size: 24px;
}
.Estilo2 {color: #FFFFFF}
-->
</style>
<div align="center" class="Estilo1"><u>Formulario de Registro </u></div>
<table width="780" border="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><strong><span class="Estilo2">Si eres nuevo en esta p&aacute;gina, primero deber&aacute;s registrarte.</span></strong></td>
</tr>
<tr>
<td><strong><span class="Estilo2">Para ello debes rellenar este formulario con tus datos personales. </span></strong></td>
</tr>
</table>

<form id="form1" name="form1" method="post" action="inserta.php">
<label><strong>Apellido</strong>
<input name="apellido" type="text" tabindex="1" size="30" />
</label>
<label><strong>Nombres</strong>
<input name="nombres" type="text" tabindex="2" size="50" />
</label>
</form>
<form id="form2" name="form2" method="post" action="">
<label><strong>DNI</strong>
<input name="dni" type="text" id="dni" tabindex="3" size="10" />
</label>
</form>
<form id="form3" name="form3" method="post" action="">
<label><strong>Telefóno</strong>
<input name="telefono" type="text" id="telefono" tabindex="4" size="15" />
</label>
</form>
<form id="form4" name="form4" method="post" action="">
<label><strong>Celular / M&oacute;vil</strong>
<input name="celular" type="text" id="celular" tabindex="5" size="15" />
</label>
</form>
<form id="form5" name="form5" method="post" action="">
<label><strong>Domicilio</strong>
<input name="domicilio" type="text" id="domicilio" tabindex="6" size="100" />
</label>
</form>
<form id="form6" name="form6" method="post" action="">
<label><strong>Mail</strong>
<input name="mail" type="text" id="mail" tabindex="7" size="30" />
</label>
</form>
<form id="form7" name="form7" method="post" action="">
<label><strong>Contraseña</strong>
<input name="contrase&ntilde;a" type="password" id="contrase&ntilde;a" tabindex="8" />
</label>
<label><strong>Repetir contraseña</strong>
<input name="repcont" type="password" id="repcont" tabindex="9" />
</label>
</form>
<form id="form8" name="form8" method="post" action="">
<label>
<input type="submit" name="Submit" value="Enviar" tabindex="10" />
</label>
<input type="reset" name="Submit2" value="Borrar campos" tabindex="10" />
</form>

Y Inserta.php este otro:
<?php
$apellido=$_POST['apellido'];
$nombre=$_POST['nombres'];
$dni=$_POST['dni'];
$telefono=$_POST['telefono'];
$celular=$_POST['celular'];
$domicilio=$_POST['domicilio'];
$mail=$_POST['mail'];
$contraseña=$_POST['contraseña'];
$repcont=$_POST['repcont'];
$conexion = mysql_connect("localhost", "","");
mysql_select_db("contactos",$conexion);
$sql =" INSERT INTO tblcontactos (apellido,nombres,dni,telefono,celular,domicilio,m ail,contraseña,repcont) VALUES ('$apellido','$nombre','$dni','$telefono','$celula r','$domicilio','$mail','$contraseña','$repcont',) ";
$result = mysql_query($sql);
if ($sql)
{
echo "<font color=ff0000 size=4> El registro ha sido incluido </font>\n";
}
else
{
echo "<p>¡No se ha podido introducir.!</p>\n";
exit;
}
mysql_close($conexion);
?>
</body>
</html>

¿Qué estoy haciendo mal que no se inserta el registro en la base?

Hola

buenos dias
aqui te dejo arreglos del forumario
Código PHP:
<style type="text/css">
<!--
body {
background-color#6699FF;
}
.
Estilo1 {
color#FFFFFF;
font-weightbold;
font-size24px;
}
.
Estilo2 {color#FFFFFF}
-->
</
style>
<
div align="center" class="Estilo1"><u>Formulario de Registro </u></div>
<
table width="780" border="0">
<
tr>
<
td>&nbsp;</td>
</
tr>
<
tr>
<
td><strong><span class="Estilo2">Si eres nuevo en esta p&aacute;ginaprimero deber&aacute;s registrarte.</span></strong></td>
</
tr>
<
tr>
<
td><strong><span class="Estilo2">Para ello debes rellenar este formulario con tus datos personales. </span></strong></td>
</
tr>
</
table>

<
form id="form1" name="form1" method="post" action="insertar.php">
<
label><strong>Apellido</strong>
<
input name="apellido" type="text" tabindex="1" size="30" />
<
br>
</
label>
<
label><strong>Nombres</strong>
<
input name="nombres" type="text" tabindex="2" size="50" />
<
br>
</
label>
<
label><strong>DNI</strong>
<
input name="dni" type="text" id="dni" tabindex="3" size="10" />
<
br>
</
label>
<
label><strong>Telefóno</strong>
<
input name="telefono" type="text" tabindex="4" size="15" />
</
label>
<
label><strong><br>
Celular M&oacute;vil</strong><br>
<
input name="celular" type="text" tabindex="5" size="15" />
</
label>
<
label><strong><br>
Domicilio</strong>
<
input name="domicilio" type="text" tabindex="6" size="100" />
</
label>
<
label><strong><br>
Mail</strong>
<
input name="mail" type="text" tabindex="7" size="30" />
<
br>
</
label>
<
label><strong>Contraseña</strong>
<
input name="contrasenna" type="password" tabindex="8" />
</
label>
<
label><strong><br>
Repetir contraseña</strong>
<
input name="repcont" type="password" tabindex="9" />
</
label>
<
label>
<
input type="submit" name="Submit" value="Enviar" tabindex="10" />
</
label>
<
input type="reset" name="Submit2" value="Borrar campos" tabindex="10" />
</
form

y aqui del archivo insertar.php
Código PHP:
<?php
$conexion 
mysql_connect("server.dominio.com""root","password");
mysql_select_db("BD",$conexion);

$apellido=$_POST['apellido'];
$nombre=$_POST['nombres'];
$dni=$_POST['dni'];
$telefono=$_POST['telefono'];
$celular=$_POST['celular'];
$domicilio=$_POST['domicilio'];
$mail=$_POST['mail'];
$contrasenna=$_POST['contrasenna'];
$repcont=$_POST['repcont'];

$sql =" INSERT INTO tblcontactos (apellido,nombres,dni,telefono,celular,domicilio,mail,contrasenna,repcont) VALUES ('$apellido','$nombre','$dni','$telefono','$celular','$domicilio','$mail','$contrasenna','$repcont')"


$result mysql_query($sql);
if (
$sql)
{
echo 
"<font color=ff0000 size=4> El registro ha sido incluido </font>\n";
}
else
{
echo 
"<p>¡No se ha podido introducir.!</p>\n";
exit;
}
mysql_close($conexion);
?>
Digo
- te sugiero que cambies en tu tabla tblcontactos el campo contraseña por contrasenna, por supuesto tambien en el formulario y en la variable
- cuidado a la hora de las varibles se te fueron dos espacios, en el campo mail y la variable celular
Código PHP:
$sql =" INSERT INTO tblcontactos (apellido,nombres,dni,telefono,celular,domicilio,m ail,contraseña,repcont) VALUES ('$apellido','$nombre','$dni','$telefono','$celula r','$domicilio','$mail','$contraseña','$repcont',) "
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #5 (permalink)  
Antiguo 25/10/2006, 07:14
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 9 meses
Puntos: 20
Código PHP:
$sql =" INSERT INTO tblcontactos (apellido,nombres,dni,telefono,celular,domicilio,m ail,contraseña,repcont) VALUES ('$apellido','$nombre','$dni','$telefono','$celular','$domicilio','$mail','$contraseña','$repcont',) "
En vez de llamarlo mail, has escrito "m ail". Y otra cosa.. al campo contraseña no pongas Ñ, eso puede darte problemas de encodificación, ya que la programación está basada en caracteres del idioma inglés.

EDIT: El celular también contine un espacio..

Suerte

Última edición por david_M_G; 25/10/2006 a las 07:23
  #6 (permalink)  
Antiguo 25/10/2006, 07:22
 
Fecha de Ingreso: agosto-2003
Mensajes: 68
Antigüedad: 21 años, 3 meses
Puntos: 0
Eso es correcto lo que dice the_scorpion, cambia el nombre de contraseña en la tabla por contrasena, elimina los espacios en m ail y $celula r

Deberia ser algo asi...
Código PHP:
$sql =" INSERT INTO tblcontactos (apellido,nombres,dni,telefono,celular,domicilio,mail,contrasena,repcont) VALUES ('$apellido','$nombre','$dni','$telefono','$celular','$domicilio','$mail','$contraseña','$repcont') "
$result mysql_query($sql); 
__________________
AdsParaTuWeb.com
  #7 (permalink)  
Antiguo 26/10/2006, 04:13
 
Fecha de Ingreso: septiembre-2006
Mensajes: 48
Antigüedad: 18 años, 2 meses
Puntos: 0
Gracias totales!!!

Gracias a Uds. pude solucionar el inconveniente
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 21:59.