Foros del Web » Programando para Internet » PHP »

Formulario no se guarda en la BD

Estas en el tema de Formulario no se guarda en la BD en el foro de PHP en Foros del Web. Buenas tardes agradesco puedan ayudarme con este asunto. el problema es que mando mi formulario y me marca bien que se envio y el usuario ...
  #1 (permalink)  
Antiguo 13/08/2010, 12:31
 
Fecha de Ingreso: septiembre-2005
Mensajes: 5
Antigüedad: 18 años, 7 meses
Puntos: 0
Exclamación Formulario no se guarda en la BD

Buenas tardes agradesco puedan ayudarme con este asunto.

el problema es que mando mi formulario y me marca bien que se envio y el usuario fue registrado pero en la BD no me aparese nada como si no ubiese registrado el esuario

este es mi codigo: registrar.php

<?php
if(!($conexion=mysql_connect("localhost", "usuario", "clave")))
{
echo "No se ha podido conectar.";
exit();
}

if(!(mysql_select_db("BD", $conexion)))
{
echo "Error al seleccionar la base de datos";
exit();
}

echo "Conexión establecida.";
function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"','"',$mensaje);
return $mensaje;
}

if(trim($_POST["nombresc"]) != "" && trim($_POST["director"]) != "")
{
$sql = 'SELECT id FROM Usuarios WHERE nombresc="'.quitar($_POST["nombresc"]).'"';
$result = mysql_query($sql) or die(mysql_error());
if($row = mysql_fetch_array($result))
{
echo "Error, El Nombre de esta Escuela ya Existe en la Base de Datos";
}
else
{
$sql = "INSERT INTO usuarios (nombresc,direccion,telefono,poblacion,rfc,cp,clav e,director,password) VALUES (";
$sql .= "'".quitar($_POST["nombresc"])."'";
$sql .= ",'".quitar($_POST["direccion"])."'";
$sql .= ",'".quitar($_POST["telefono"])."'";
$sql .= ",'".quitar($_POST["poblacion"])."'";
$sql .= ",'".quitar($_POST["rfc"])."'";
$sql .= ",'".quitar($_POST["cp"])."'";
$sql .= ",'".quitar($_POST["clave"])."'";
$sql .= ",'".quitar($_POST["director"])."'";
$sql .= ",'".quitar($_POST["password"])."'";
$sql .= ")";
mysql_query($sql);
echo "La solicitud se a enviado con Exito, Su Registro fue Completado!";
}
mysql_free_result($result);
}
else
{
echo "Favor de llenar Todos los campos";
}
mysql_close();
?>

y este es el mensaje despues de mandar el formulario:

Conexión establecida.La solicitud se a enviado con Exito, Su Registro fue Completado!
  #2 (permalink)  
Antiguo 13/08/2010, 15:43
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Formulario no se guarda en la BD

Primero prueba poner esto

Código HTML:
$nombre= $_POST["nombresc"];
$direccion= $_POST["direccion"];
$telefono= $_POST["telefono"];
$direccion= $_POST["poblacion"];
$rfc= $_POST["rfc"];
$cp= $_POST["cp"];
$clave= $_POST["clave"];
$director= $_POST["director"];
$password= $_POST["password"];
Antes de poner esto

$sql .= "'".quitar($_POST["nombresc"])."'";
$sql = "INSERT INTO usuarios (nombresc,direccion,telefono,poblacion,rfc,cp,clav e,director,password) VALUES

Y en vez de esto

$sql .= ",'".quitar($_POST["direccion"])."'";
$sql .= ",'".quitar($_POST["telefono"])."'";
$sql .= ",'".quitar($_POST["poblacion"])."'";
$sql .= ",'".quitar($_POST["rfc"])."'";
$sql .= ",'".quitar($_POST["cp"])."'";
$sql .= ",'".quitar($_POST["clave"])."'";
$sql .= ",'".quitar($_POST["director"])."'";
$sql .= ",'".quitar($_POST["password"])."'";
$sql .= "'".quitar($_POST["nombresc"])."'";

Pones esto (no se si se va a ver pero antes de las comillas dobles lleva un apostrofo, y luego un punto.

Código HTML:
'".$nombre."', '".$direccion."', '".$telefono."', '".$direccion."', '".$rfc."', '".$cp."', '".$clave."', '".$director."', '".$password.'"
El codigo total seria asi

Código HTML:
$sql = mysql_query("INSERT INTO usuarios (nombresc,direccion,telefono,poblacion,rfc,cp,clav e,director,password) VALUES ('".$nombre."', '".$direccion."', '".$telefono."', '".$direccion."', '".$rfc."', '".$cp."', '".$clave."', '".$director."', '".$password.'")") or (mysqlerror())
;
  #3 (permalink)  
Antiguo 13/08/2010, 17:06
 
Fecha de Ingreso: septiembre-2005
Mensajes: 5
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Formulario no se guarda en la BD

gracias amigo voy a probar asi
  #4 (permalink)  
Antiguo 13/08/2010, 18:17
Avatar de gringofer  
Fecha de Ingreso: agosto-2010
Ubicación: Córdoba, Argentina
Mensajes: 338
Antigüedad: 13 años, 8 meses
Puntos: 22
Respuesta: Formulario no se guarda en la BD

Te dejo el codigo que utilize yo para insertar los datos del formulario en la BD, pero antes debo advertirte que mi codigo no tiene ninguna medida de seguridad, ya que soy novato en php y no se como hacerlo, pero si funciona:
Código PHP:
<?php   
// coneccion con la base de datos   
$link mysql_connect("ELNOMBRE DE MI HOST","USUARIO","CONTRASEÑA") or die ('No se puede conectar con la DB por que: ' mysql_error());   
mysql_select_db("MI BASE DE DATOS",$link);   

//recojer los datos del formulario   
$username $_POST['username'];    
$password $_POST['password'];    
$nombre $_POST['nombre'];    
$apellido $_POST['apellido'];    
$telefono $_POST['telefono'];    
$email $_POST['email'];    

//con esta secuencia SQL insertamos los datos en nuestra base de datos   
$sql="INSERT INTO usuarios (username,password,nombre,apellido,telefono,email) VALUES ('$username', '$password','$nombre','$apellido','$telefono','$email')";   
mysql_query($sql,$link) or die (mysql_error());     
mysql_close($link);    
?>
  #5 (permalink)  
Antiguo 14/08/2010, 10:18
 
Fecha de Ingreso: septiembre-2005
Mensajes: 5
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Formulario no se guarda en la BD

hola gringofer intente con el codigo que me mandaste pero no pasa nada asi me quedo el codigo:

<?php
// coneccion con la base de datos
$link = mysql_connect("localhost","usuario","clave") or die ('No se puede conectar con la DB por que: ' . mysql_error());
mysql_select_db("Bd",$link);

//recojer los datos del formulario
$nombresc = $_POST['nombresc'];
$direccion = $_POST['direccion'];
$telefono = $_POST['telefono'];
$poblacion = $_POST['poblacion'];
$rfc = $_POST['rfc'];
$cp = $_POST['cp'];
$clave = $_POST['clave'];
$director = $_POST['director'];
$password = $_POST['password'];

//con esta secuencia SQL insertamos los datos en nuestra base de datos
$sql="INSERT INTO usuarios (nombresc,direccion,telefono,poblacion,rfc,cp,clav e,director,password) VALUES ('$nombresc', '$direccion','$telefono','$poblacion','$rfc','$cp' ,'$clave','$director','$password')";
mysql_query($sql,$link) or die (mysql_error());
mysql_close($link);
?>

y esto es lo que me manda:
No database selected
  #6 (permalink)  
Antiguo 14/08/2010, 10:24
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Formulario no se guarda en la BD

si te manda ese error es xq no estas seleccionando ninguna base de datos "Bd" es el nombre q me imagino te ponian como ejemplo aka
Cita:
mysql_select_db("Bd",$link);
ahi debe ir el nombre de la base de datos utilizada suerte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 17/08/2010, 11:22
Avatar de gringofer  
Fecha de Ingreso: agosto-2010
Ubicación: Córdoba, Argentina
Mensajes: 338
Antigüedad: 13 años, 8 meses
Puntos: 22
Respuesta: Formulario no se guarda en la BD

Como dice carlos, seleccionaste mal el nombre de la base de datos, donde pusiste #mysql_select_db("Bd",$link);# en BD tienes que poner el nombre que elegiste para tu base de datos

Etiquetas: bd, formulario
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 19:26.