Foros del Web » Programando para Internet » PHP »

Problema insertando datos en la base de datos

Estas en el tema de Problema insertando datos en la base de datos en el foro de PHP en Foros del Web. Bueno estoy haciendo una especie de registro de usuarios sencillo pero no entiendo porque no inserta los datos en la base de datos, no me ...
  #1 (permalink)  
Antiguo 06/07/2008, 19:57
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Problema insertando datos en la base de datos

Bueno estoy haciendo una especie de registro de usuarios sencillo pero no entiendo porque no inserta los datos en la base de datos, no me sale error al abrir el archivo en el servidor es solo que no inserta los datos

Dejo codigo por si alguien me puede ayudar, gracias de ante mano ;)

Código:
<?php
$user=$_GET['nick'];
$pass=$_GET['contraseña'];
$mail=$_GET['email']; 
function error() {
if ($user="" && $pass="" &&  $mail="") {
$error=true;
} else {
$error=false;
}
return $error;
}


include("conexion.php"); # Incluimos el conectar.php
if(isset($_GET['register'])) { # Miramos si han dado al boton enviar noticia
$xerror=error();
if ($xerror=false) {
$sql = "INSERT INTO `usuarios` (Nick,contraseña,mail) values";  # Abirmos la tabla sql
$sql.= "('$user','$pass','$mail')"; # Y insertamos estos valores
if(mysql_query($sql)) { # Expones sql
echo "Se ha enviado la noticia correctamente"; # si se ha enviado la noticia correctamente
}else{
echo "Ha habido un error en enviar la noticia"; # Si ha habido un error
}
}
} else {
echo 'Falta un dato por favor ingreselo'; }
echo'<div id="registro_users">
<span class="titulo">Registro de usuarios</span>
<div id="formulario">
<form action="registrar.php" method="GET">
<a>Introduce Nick:</a><br />
<input type="text" name="nick"><br /><br />
<a>Introduce contraseña:</a><br />
<input type="password" name="contraseña"><br /><br />
<a>Introduce email:</a><br />
<input type="text" name="email"><br /><br />
<input name="register" type="submit" value="Registrar" />
</form>';
?>
Aqui el codigo de conexion.php
Código:
<?PHP
$host="server";  //servidor mysql
$user="user"; //usuario mysql
$pass="user";  //contraseña
$db="cms";  //nombre de base de datos
$conexion=mysql_connect($host, $user, $pass) or die("Error en la conexion"); //Nos conectamos y si hay un error mostramos mensaje
$sdb=mysql_select_db($db,$conexion) or die ("Error al abrir la base de datos");  //Abrimos las base de datos y si hay un error mostramos mensaje
?>
Se que los datos de la conexion estan bien sino me mostraran el mensaje ;)

salu2
  #2 (permalink)  
Antiguo 07/07/2008, 00:59
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Problema insertando datos en la base de datos

Trata asi, con comparaciones directas:
Código PHP:
$user $_GET['nick'];
$pass $_GET['contraseña'];
$mail $_GET['email'];
function 
error() {
    if (
$user == "" && $pass == "" &&  $mail == "") {
        
$error true;
    }else{
        
$error false;
    }
    return 
$error;
}


include(
"conexion.php"); # Incluimos el conectar.php

if(isset($_GET['register'])) { # Miramos si han dado al boton enviar noticia
    
$xerror error();
    if(
$xerror == false){
        
$sql "INSERT INTO usuarios (nick, contraseña, mail) 
                VALUES ('$user','$pass','$mail')"
# Y insertamos estos valores
        
if(mysql_query($sql)) { # Expones sql
            
echo "Se ha enviado la noticia correctamente"# si se ha enviado la noticia correctamente
        
}else{
            echo 
"Ha habido un error en enviar la noticia"# Si ha habido un error
        
}
    }
}else{
    echo 
'Falta un dato por favor ingreselo'
}
echo
'
<div id="registro_users">
    <span class="titulo">Registro de usuarios</span>
    <div id="formulario">
        <form action="registrar.php" method="GET">
            <a>Introduce Nick:</a><br />
            <input type="text" name="nick"><br /><br />
            <a>Introduce contraseña:</a><br />
            <input type="password" name="contraseña"><br /><br />
            <a>Introduce email:</a><br />
            <input type="text" name="email"><br /><br />
            <input name="register" type="submit" value="Registrar" />
        </form>
    </div>
</div>'

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 07/07/2008, 17:18
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Problema insertando datos en la base de datos

Gracias por responder.

SI pero no inserta los datos en la tabla, que podria ser? es muy raro, no sale error alguno solo que no deja los datos en la tabla :S

salu2
  #4 (permalink)  
Antiguo 07/07/2008, 17:23
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: Problema insertando datos en la base de datos

Creo que aqui esta tu error
Código PHP:
$sql "INSERT INTO `usuarios` 
no deberias de usar comillas para la tabla
Código PHP:
$sql "INSERT INTO usuarios 
  #5 (permalink)  
Antiguo 07/07/2008, 17:27
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Problema insertando datos en la base de datos

Si mantienes el error de agregar los datos lo que puedes hacer es agregarle mysql_error() a la linea de echo "Ha habido un error en enviar la noticia"; para ver si es un error de mysql.

Lo que creo mas posible es que el error sea por la Ñ... es posible que por ahi ande molestando.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 07/07/2008, 17:29
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: Problema insertando datos en la base de datos

Cita:
Iniciado por Marvin Ver Mensaje
Si mantienes el error de agregar los datos lo que puedes hacer es agregarle mysql_error() a la linea de echo "Ha habido un error en enviar la noticia"; para ver si es un error de mysql.

Lo que creo mas posible es que el error sea por la Ñ... es posible que por ahi ande molestando.

Suerte!
Creo que tienes razon marvin.
  #7 (permalink)  
Antiguo 08/07/2008, 12:28
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Problema insertando datos en la base de datos

Acabo de descubrir por que no lo inserta anque todavia no encuentro como resolverlo, el problema es que no sale se se insertaron o no correctamente, es decir el dar click al boton no dice si hubo error o no quiere decir que algun if esta malo puesto que jamas llega a ejecutarlo, voy a ver si encuentro una manera.

Gracias a los dos por nresponder ;), Karma positivo a los dos

salu2
  #8 (permalink)  
Antiguo 08/07/2008, 12:39
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Problema insertando datos en la base de datos

Disculpen el doble post pero logre que llegara a intentar añadir los datos a la tabla pero ahora me sale error no se porque :(, gracias de antemano ;D

Código PHP:
<?php
$usera 
$_GET['nick'];
$passa $_GET['contraseña'];
$maila $_GET['email'];
function 
error() {
    if (
$user == "" && $pass == "" &&  $mail == "") {
        
$error 2;
    }else{
        
$error 1;
    }
    return 
$error;
}


include(
"conexion.php"); # Incluimos el conectar.php

if(isset($_GET['register'])) { # Miramos si han dado al boton enviar noticia
    
$xerror error();
    if (
$usera != "" && $passa != "" &&  $maila != "") {
        
$sql "INSERT INTO usuarios (nick, contraseña, mail) 
                VALUES ('$usera','$passa','$maila'),$conexion"
# Y insertamos estos valores
                
mysql_query($sql);
        if(
mysql_query($sql)) { # Expones sql
            
echo "Se ha enviado la noticia correctamente"# si se ha enviado la noticia correctamente
        
}else{
            echo 
"Ha habido un error en enviar la noticia".mysql_error($conexion); # Si ha habido un error
        
}
    }
}else{
    echo 
'Falta un dato por favor ingreselo'
}
echo
'
<div id="registro_users">
    <span class="titulo">Registro de usuarios</span>
    <div id="formulario">
        <form action="registrar.php" method="GET">
            <a>Introduce Nick:</a><br />
            <input type="text" name="nick"><br /><br />
            <a>Introduce contraseña:</a><br />
            <input type="password" name="contraseña"><br /><br />
            <a>Introduce email:</a><br />
            <input type="text" name="email"><br /><br />
            <input name="register" type="submit" value="Registrar" />
        </form>
    </div>
</div>'
;  
?>
  #9 (permalink)  
Antiguo 08/07/2008, 13:17
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Problema insertando datos en la base de datos

Y que error te da?
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #10 (permalink)  
Antiguo 08/07/2008, 13:56
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: Problema insertando datos en la base de datos

no creo que escribir

Código PHP:

$passa 
$_GET['contraseña']; 
sea correcto

trata con

Código PHP:
$passa $_GET['contrasena']; 
no puedes poner ñ
__________________
My path is lit by my own fire, I only go where I desire
  #11 (permalink)  
Antiguo 08/07/2008, 16:31
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Problema insertando datos en la base de datos

Pfff Gracias a los dos por responder, encontre el error y logre solucionarlo, gracias de nuevo, el problema era que el formuario de la contraseña tenia la ñ tal como lo digiste foreverODD, el otro problema me ayudo a solucionarlo marvin, hacer comparaciones directas =)

Gracias a los 2

salu2
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 07:54.