Foros del Web » Programando para Internet » PHP »

Ayuda con un código

Estas en el tema de Ayuda con un código en el foro de PHP en Foros del Web. Hola a todos. Hace poco me creé una web y al terminar de editar el estilo pensé en ponerle una zona para que los usuarios ...
  #1 (permalink)  
Antiguo 10/07/2010, 15:36
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Ayuda con un código

Hola a todos.
Hace poco me creé una web y al terminar de editar el estilo pensé en ponerle una zona para que los usuarios pudieran registrarse.
El caso es que al registrarse alguien dice que los datos se han enviado correctamente, pero al ir a la base de datos y a la tabla correspondiente no aparece el nuevo registro. (La tabla está perfectamente creada).
OS dejo el código para que me podais decirsi el problema es de la base de datos o del código.

registrodatos.php :
Código:
<?php
function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
return $mensaje;
}
if
( 
 isset($_POST['Nombre']) && !empty($_POST['Nombre'])
&& isset($_POST['Apellidos']) && !empty($_POST['Apellidos'])
&& isset($_POST['Nick']) && !empty($_POST['Nick'])
&& isset($_POST['Password']) && !empty($_POST['Password'])
&& isset($_POST['Correo']) && !empty($_POST['Correo'])
)
 {
function Conectarse()
{
   if (!($link=mysql_connect("localhost","46224","asdfghjk1")))
   {
      echo "Error";
      exit();
   }
   if (!mysql_select_db("46224",$link))
   {
      echo "Error";
      exit();
   }
   return $link;
}

$link=Conectarse();
echo "Hecho.<br>";

mysql_close($link);
$sql = "SELECT ID FROM registro WHERE Nick='".quitar($HTTP_POST_VARS["Nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "El nick elegido esta ocupado.<br> Por favor regrese al formulario y escoja otro.<br>";
}
else
{
mysql_query("INSERT INTO `46224`.`registro` (Nombre,Apellidos,Nick,Password,Correo)
VALUES ('{$_POST['Nombre']}','{$_POST['Apellidos']}','{$_POST['Nick']}','{$_POST['Password']}','{$_POST['Correo']}',

",$link);
// Ahora comprobaremos que todo ha ido correctamente
$my_error = mysql_error($link);

if(!empty($my_error))
{ 
echo "Ha habido un error al enviar los datos. $my_error"; 
}
else
{
echo "Los datos han sido enviados satisfactoriamente";
}
}
 }else 
 {
echo "Error, no ha introducido todos los datos obligatorios. Por favor regrese al formulario.";
 }
?>
Y aquí os dejo el include que véis arriba :

conexión. php:
Código:
<?php
function Conectarse()
{
   if (!($link=mysql_connect("localhost","usuario","contraseña")))
   {
      echo "Error";
      exit();
   }
   if (!mysql_select_db("nombre de la BD",$link))
   {
      echo "Error";
      exit();
   }
   return $link;
}

$link=Conectarse();
echo "Hecho.<br>";

mysql_close($link);
?>


Muchas gracias a todos de antemano.
  #2 (permalink)  
Antiguo 10/07/2010, 16:12
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: Ayuda con un código

Hola podrias colocar el codigo del formulario ?
  #3 (permalink)  
Antiguo 10/07/2010, 16:34
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: Ayuda con un código

fijate no cerraste el ) del value ni cerraste el mysql_query
Cita:
Iniciado por enkryptedname Ver Mensaje
mysql_query("INSERT INTO `46224`.`registro` (Nombre,Apellidos,Nick,Password,Correo)
VALUES ('{$_POST['Nombre']}','{$_POST['Apellidos']}','{$_POST['Nick']}','{$_POST['Password']}','{$_POST['Correo']}',
deberia ser asi segun lo que tengo entendido prueba xq a mi si me inserto tu consulta
Código PHP:
mysql_query("INSERT INTO `46224`.`registro` (Nombre,Apellidos,Nick,Password,Correo)
VALUES ('{$_POST['Nombre']}','{$_POST['Apellidos']}','{$_POST['Nick']}','{$_POST['Password']}','{$_POST['Correo']}')"
) or die ("error al ingresar dato".mysql_error()); 
  #4 (permalink)  
Antiguo 10/07/2010, 17:03
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con un código

Cita:
Iniciado por carlos_belisario Ver Mensaje
fijate no cerraste el ) del value ni cerraste el mysql_query

deberia ser asi segun lo que tengo entendido prueba xq a mi si me inserto tu consulta
Código PHP:
mysql_query("INSERT INTO `46224`.`registro` (Nombre,Apellidos,Nick,Password,Correo)
VALUES ('{$_POST['Nombre']}','{$_POST['Apellidos']}','{$_POST['Nick']}','{$_POST['Password']}','{$_POST['Correo']}')"
) or die ("error al ingresar dato".mysql_error()); 
Hola, gracias por tu respuesta, he probao a ponerlo, pero si lo pongo así el dreamweaver me da un error de sintaxis en las líneas 47,53 y 72.
¿Alguna idea?
  #5 (permalink)  
Antiguo 10/07/2010, 17:09
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: Ayuda con un código

podrias poner cual es el codigo completo xq aki no se ve cuales son esas lineas o podrias poner el contenido de esas lineas
  #6 (permalink)  
Antiguo 10/07/2010, 17:17
 
Fecha de Ingreso: abril-2010
Ubicación: La coruña
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con un código

Cita:
Iniciado por carlos_belisario Ver Mensaje
podrias poner cual es el codigo completo xq aki no se ve cuales son esas lineas o podrias poner el contenido de esas lineas
Hola amigo. Muchas gracias por todo. Pero le pedí ayuda a un amigo del correo y me corrigió todo el codigo. El código sería:
Código:
<?php
function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
return $mensaje;
}

if(isset($_POST['Nombre']) && !empty($_POST['Nombre'])
&& isset($_POST['Apellidos']) && !empty($_POST['Apellidos'])
&& isset($_POST['Nick']) && !empty($_POST['Nick'])
&& isset($_POST['Password']) && !empty($_POST['Password'])
&& isset($_POST['Correo']) && !empty($_POST['Correo']))
   {
   // Si entramos es que todo se ha realizado correctamente
include("conexion.php");//utility library
$sql = "SELECT ID FROM registro WHERE Nick='".quitar($HTTP_POST_VARS["Nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, nick escogido por otro usuario.<br> Por favor regrese al formulario y escoja otro nick.<br>";
}
else
    {
// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO registro (Nombre,Apellidos,Nick,Password,Correo)
VALUES ('{$_POST['Nombre']}','{$_POST['Apellidos']}','{$_POST['Nick']}','{$_POST['Password']}','{$_POST['Correo']}')",$db);

// Ahora comprobaremos que todo ha ido correctamente
$my_error = mysql_error($db);

if(!empty($my_error)) 
{ 
echo "Ha habido un error al insertar los valores. $my_error"; 
}
else
{
echo "Los datos han sido introducidos satisfactoriamente. Gracias y disfrute.";
}
    }
   }
else 
 {
echo "Error, no ha introducido todos los datos obligatorios. Por favor regrese al formulario.";
 }


?>
muchas gracias por tu ayuda

Etiquetas: Ninguno
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 22:19.