Foros del Web » Programando para Internet » PHP »

Problema al grabar en un formulario

Estas en el tema de Problema al grabar en un formulario en el foro de PHP en Foros del Web. Hola compañerois!!Estoy haciendo un formulario que me permita volcar los datos en una base de datos pero cuando lo realizo parece que va bien pero ...
  #1 (permalink)  
Antiguo 26/03/2009, 15:41
 
Fecha de Ingreso: marzo-2009
Mensajes: 15
Antigüedad: 15 años, 1 mes
Puntos: 0
Problema al grabar en un formulario

Hola compañerois!!Estoy haciendo un formulario que me permita volcar los datos en una base de datos pero cuando lo realizo parece que va bien pero no graba nada en la base de datos.
Alguien me puede ayudar?

el codgo es:

<?php
$bd=mysql_connect("localhost","*****","*******") or die ("No puedo conectar a la base de datos");
mysql_select_db("de3en3");
$opt=$HTTP_GET_VARS["opt"];
if ($opt==1)
{

$nombre=$HTTP_GET_VARS["nombre"];
$apellidos=$HTTP_GET_VARS["apellidos"];
$dia=$HTTP_GET_VARS["dia"];
$mes=$HTTP_GET_VARS["mes"];
$año=$HTTP_GET_VARS["año"];
$mail=$HTTP_GET_VARS["mail"];
$nick=$HTTP_GET_VARS["nick"];
$password=$HTTP_GET_VARS["password"];


$sql="insert into de3en3.usuarios(nombre,apellidos,dia,mes,año,mail, nick,password) values ('".$nombre."','".$apellidos."','".$dia."','".$mes ."','".$año."','".$mail."','".$nick."','".$passwor d."')";
$res=mysql_query($sql,$db) or die (mysql_error());

}


?>
<html>
<head>
<title>Concurso de3en3</title>
<STYLE TYPE="text/css">
<!--
a:link {text-decoration: none}
a:visited {text-decoration: none}
a:active {text-decoration: none}
a:hover {text-decoration: underline}
-->
</STYLE>
<script language ="javascript">

function verifica()
{
if (f.nombre.value=="")
{
alert ("Por favor, escriba un nombre");
return;
}
if (f.apellidos.value=="")
{
alert ("Por favor, escriba un apellido");
return;
}
if (f.dia.value=="")
{
alert ("Por favor, escriba un día");
return;
}
if (f.mes.value=="")
{
alert ("Por favor, escriba un mes");
return;
}
if (f.año.value=="")
{
alert ("Por favor, escriba un año");
return;
}
if (f.mail.value=="")
{
alert ("Por favor, escriba una dirección mail");
return;
}
if (f.nick.value=="")
{
alert ("Por favor, escriba un nick");
return;
}

if (f.password.value=="")
{
alert ("Por favor, escriba un password");
return;
}
f.opt.value=1;
f.submit();
}
</script>

<body bgproperties="fixed" background="fondonuevo3.jpg">
<b><font face="Comic Sans MS"><span style="font-size:36pt;">

Concurso de3en3</span></font></b>
<form name="f" action="prueba.php" method=post>
<input type="hidden" name="opt">
<p><font color="#7B4B23"><b>Nombre <input type="text" name="nombre" maxlength="50" size="20"> &nbsp;&nbsp;Apellidos
<input type="text" name="apellidos" maxlength="70" size="50">
Fecha de nacimiento
<input type="text" name="dia" maxlength="2" size="2">
<input type="text" name="mes" maxlength="12" size="12">
<input type="text" name="año" maxlength="4" size="4">


<p><font color="#7B4B23"><b>Dirección mail <input type="text" name="mail" maxlength="60" size="20"> &nbsp;&nbsp;&nbsp;Nick*<input type="text" name="nick" maxlength="50" size="20"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contrase ña* <input type="password" name="password" maxlength="50" size="20"> </b></font></p>
<p><font color="#7B4B23"><b>* (los que usarás para el foro)&nbsp;&nbsp;&nbsp;</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;<input type="button" value="Enviar" name="enviar" onclick=verifica()> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<inpu t type="reset" name="cancel" value="Cancelar"></p>
</form>

<p><b>Rellena el formulario para participar en nuestro foro y entra en el concurso de una camiseta de Dwayne Wade. Fecha tope para la inscripción el 22/04/09.</b></p>

</body>
</html>
  #2 (permalink)  
Antiguo 26/03/2009, 15:57
 
Fecha de Ingreso: febrero-2006
Mensajes: 155
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Problema al grabar en un formulario

Prueba asi y me comentas

Código PHP:
<?php
$bd
=mysql_connect("localhost","de3en3","Josevk1010 1981") or die ("No puedo conectar a la base de datos");
mysql_select_db("de3en3");
$opt$_POST["opt"];
if (
$opt==1)
{
$nombre   $_POST["nombre"];
$apellidos$_POST["apellidos"];
$dia      $_POST["dia"];
$mes      $_POST["mes"];
$a&#241;o      = $_POST["año"];
$mail     $_POST["mail"];
$nick     $_POST["nick"];
$password $_POST["password"];

$sql="insert into de3en3.usuarios (nombre,apellidos,dia,mes,año,mail, nick,password) values ('$nombre','$apellidos','$dia','$mes','$año','$mail','$nick','$password')";

$res=mysql_query($sql,$db) or die (mysql_error());
}
?>


<html> 
<head> 
<title>Concurso de3en3</title> 
<STYLE TYPE="text/css">
<!--
a:link {text-decoration: none}
a:visited {text-decoration: none}
a:active {text-decoration: none}
a:hover {text-decoration: underline}
-->
</STYLE>
<script language ="javascript">

function verifica()

if (f.nombre.value=="")
{
alert ("Por favor, escriba un nombre");
return;
}
if (f.apellidos.value=="")
{
alert ("Por favor, escriba un apellido");
return;
}
if (f.dia.value=="")
{
alert ("Por favor, escriba un día");
return;
}
if (f.mes.value=="")
{
alert ("Por favor, escriba un mes");
return;
}
if (f.año.value=="")
{
alert ("Por favor, escriba un año");
return;
}
if (f.mail.value=="")
{
alert ("Por favor, escriba una dirección mail");
return;
}
if (f.nick.value=="")
{
alert ("Por favor, escriba un nick");
return;
}

if (f.password.value=="")
{
alert ("Por favor, escriba un password");
return;
}
f.opt.value=1;
f.submit();
}
</script>

<body bgproperties="fixed" background="fondonuevo3.jpg">
<b><font face="Comic Sans MS"><span style="font-size:36pt;">

Concurso de3en3</span></font></b>
<form name="f" action="prueba.php" method="post"> 
<input type="hidden" name="opt">
<p><font color="#7B4B23"><b>Nombre <input type="text" name="nombre" maxlength="50" size="20"> &nbsp;&nbsp;Apellidos 
<input type="text" name="apellidos" maxlength="70" size="50">
Fecha de nacimiento
<input type="text" name="dia" maxlength="2" size="2"> 
<input type="text" name="mes" maxlength="12" size="12">
<input type="text" name="año" maxlength="4" size="4">


<p><font color="#7B4B23"><b>Dirección mail <input type="text" name="mail" maxlength="60" size="20"> &nbsp;&nbsp;&nbsp;Nick*<input type="text" name="nick" maxlength="50" size="20"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contraseña* 
      <input type="password" name="password" maxlength="50" size="20"> </b></font></p>
<p><font color="#7B4B23"><b>* (los que usarás para el foro)&nbsp;&nbsp;&nbsp;</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value="Enviar" name="enviar" onclick=verifica()> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" name="cancel" value="Cancelar"></p> 
</form> 

<p><b>Rellena el formulario para participar en nuestro foro y entra en el concurso de una camiseta de Dwayne Wade. Fecha tope para la inscripción el 22/04/09.</b></p>

</body> 
</html>
espero haberte ayudado
__________________
Gabriel T. Ballesteros

Última edición por GABRIEL_ADS; 26/03/2009 a las 16:09
  #3 (permalink)  
Antiguo 27/03/2009, 03:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 15
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al grabar en un formulario

pues me da el siquiente error:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/virtual/de3en3.es/prueba.php on line 18

gracias por la ayuda de antemano

Última edición por josevk; 27/03/2009 a las 03:25 Razón: olvido
  #4 (permalink)  
Antiguo 27/03/2009, 03:32
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Respuesta: Problema al grabar en un formulario

Ufff tienes un tema un tanto complicado, por cuestiones de "compatibilidad" no se usa "ñ" (eñes) ni en variables, ni en nombres de campos, porque si bien es cierto no muestra ningun error al crearlas, cuando quieres referirte a ellos si lo hay, no siempre, pero pasa.

Ahora prueba con cambiar el nombre de la variable $año por $ano

$ano = $_POST["año"];

y tambien en el SQL ademas prueba con colocar ` (comillas al reves, nose cual es el nombre real) en año así:

sql="insert into de3en3.usuarios (nombre,apellidos,dia,mes,`año`,mail, nick,password) values ('$nombre','$apellidos','$dia','$mes','$ano','$mai l','$nick','$password')";

Saludos.
__________________
Blog de Andres Ortiz: http://www.axpuntes.com/
  #5 (permalink)  
Antiguo 27/03/2009, 03:46
 
Fecha de Ingreso: marzo-2009
Mensajes: 15
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al grabar en un formulario

he cambiado todas las variables año por ano, incluido en la base de datos y sigue dando error en la linea 18

el codigo queda asi:

//<?php
$bd=mysql_connect("localhost","de3en3","Josevk1010 1981") or die ("No puedo conectar a la base de datos");
mysql_select_db("de3en3");
$opt= $_POST["opt"];
if ($opt==1)
{
$nombre = $_POST["nombre"];
$apellidos= $_POST["apellidos"];
$dia = $_POST["dia"];
$mes = $_POST["mes"];
$ano = $_POST["ano"];
$mail = $_POST["mail"];
$nick = $_POST["nick"];
$password = $_POST["password"];

$sql="insert into de3en3.usuarios (nombre,apellidos,dia,mes,ano,mail,nick,password) values ('$nombre','$apellidos','$dia','$mes','$ano','$mai l','$nick','$password')";

$res=mysql_query($sql,$db) or die (mysql_error());
}
?>


<html>
<head>
<title>Concurso de3en3</title>
<STYLE TYPE="text/css">
<!--
a:link {text-decoration: none}
a:visited {text-decoration: none}
a:active {text-decoration: none}
a:hover {text-decoration: underline}
-->
</STYLE>
<script language ="javascript">

function verifica()
{
if (f.nombre.value=="")
{
alert ("Por favor, escriba un nombre");
return;
}
if (f.apellidos.value=="")
{
alert ("Por favor, escriba un apellido");
return;
}
if (f.dia.value=="")
{
alert ("Por favor, escriba un día");
return;
}
if (f.mes.value=="")
{
alert ("Por favor, escriba un mes");
return;
}
if (f.ano.value=="")
{
alert ("Por favor, escriba un año");
return;
}
if (f.mail.value=="")
{
alert ("Por favor, escriba una dirección mail");
return;
}
if (f.nick.value=="")
{
alert ("Por favor, escriba un nick");
return;
}

if (f.password.value=="")
{
alert ("Por favor, escriba un password");
return;
}
f.opt.value=1;
f.submit();
}
</script>

<body bgproperties="fixed" background="fondonuevo3.jpg">
<b><font face="Comic Sans MS"><span style="font-size:36pt;">

Concurso de3en3</span></font></b>
<form name="f" action="prueba.php" method="post">
<input type="hidden" name="opt">
<p><font color="#7B4B23"><b>Nombre <input type="text" name="nombre" maxlength="50" size="20"> Apellidos
<input type="text" name="apellidos" maxlength="70" size="50">
Fecha de nacimiento
<input type="text" name="dia" maxlength="2" size="2">
<input type="text" name="mes" maxlength="12" size="12">
<input type="text" name="ano" maxlength="4" size="4">


<p><font color="#7B4B23"><b>Dirección mail <input type="text" name="mail" maxlength="60" size="20"> Nick*<input type="text" name="nick" maxlength="50" size="20"> Contraseña*
<input type="password" name="password" maxlength="50" size="20"> </b></font></p>
<p><font color="#7B4B23"><b>* (los que usarás para el foro) </b></font> <input type="button" value="Enviar" name="enviar" onclick=verifica()> <input type="reset" name="cancel" value="Cancelar"></p>
</form>

<p><b>Rellena el formulario para participar en nuestro foro y entra en el concurso de una camiseta de Dwayne Wade. Fecha tope para la inscripción el 22/04/09.</b></p>

</body>
</html> //
  #6 (permalink)  
Antiguo 27/03/2009, 04:07
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Respuesta: Problema al grabar en un formulario

Al cambiar el nombre aca:

$sql="insert into de3en3.usuarios (nombre,apellidos,dia,mes,ano,mail,nick,password) ...

Implica que cambiaste el nombre del campo en la tabla. ¿Es asi? sino, prueba como te lo deje antes:

$sql="insert into de3en3.usuarios (nombre,apellidos,dia,mes,`año`,mail,nick,password) ...

Saludos.
__________________
Blog de Andres Ortiz: http://www.axpuntes.com/
  #7 (permalink)  
Antiguo 27/03/2009, 04:11
 
Fecha de Ingreso: marzo-2009
Mensajes: 15
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al grabar en un formulario

sí sí, lo cambié en la tabla tambien y sigue igual....en la base de datos el campo tambien es "ano"
  #8 (permalink)  
Antiguo 27/03/2009, 04:19
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Respuesta: Problema al grabar en un formulario

El problema es el link resource que utilizas no es $db sino $bd

Código PHP:
$res=mysql_query($sql,$bd) or die (mysql_error()); 
Y de un solo paso arregla el mysql_select_db():

Código PHP:
mysql_select_db("de3en3",$bd); 
Saludos.
__________________
Blog de Andres Ortiz: http://www.axpuntes.com/

Última edición por @ndreX!; 27/03/2009 a las 04:24
  #9 (permalink)  
Antiguo 27/03/2009, 04:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 15
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al grabar en un formulario

solucionado!!!!gracias socio!
  #10 (permalink)  
Antiguo 27/03/2009, 05:02
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Respuesta: Problema al grabar en un formulario

De nada, para eso estamos. suerte.
__________________
Blog de Andres Ortiz: http://www.axpuntes.com/
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 04:56.