Jump to content

Ayuda con ingreso de usuario


Recommended Posts

Les paso el codigo .php ya que el html es un mero formlulario sin nada fuera de lo comun:

 

<?php

 

mysql_connect("xxx","xxx");

mysql_select_db("xxx") or die ("Error al seleccionar la Base de Datos");

 

 

 

function quitar($mensaje)

 

{

 

$mensaje = str_replace("<","<",$mensaje);

 

$mensaje = str_replace(">",">",$mensaje);

 

$mensaje = str_replace("\'","'",$mensaje);

 

$mensaje = str_replace('\"',""",$mensaje);

 

$mensaje = str_replace("\\\\","\\",$mensaje);

 

return $mensaje;

 

}

 

 

if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "")

 

{

 

$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";

 

$result = mysql_query($sql);

 

if($row = mysql_fetch_array($result))

 

{

 

echo "Error, nick escogido por otro usuario";

 

}

 

else

 

{

 

$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";

 

$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";

 

$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";

 

$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";

 

$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";

 

$sql .= ")";

 

mysql_query($sql);

 

echo "Registro exitoso!";

 

}

 

mysql_free_result($result);

 

}

 

else

 

{

 

echo "Debe llenar como minimo los campos de email y password";

 

}

 

mysql_close();

 

?>

 

Al momento de llenar el formulario y llamar a registrar.php me aparece el siguiente error:

 

"Debe llenar como minimo los campos de email y password "

 

Lo que entiendo es que no esta agarrando los campos de email y password por lo tanto debe haber problemas en esta sentencia :

 

if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "")

 

 

o no??

 

porfa que alguien me ayude no cacho mucho de php y esto me tiene parado.

 

graciasss. de antemano

 

 

 

chicos ahora edite el script pero me guarda espacions en blanco en todos los campos, excepto el de id, por k pasa eso?? les pego el script.

 

<?php

 

$nick=$_POST['nick'];

$email=$_POST['email'];

$password=$_POST['password'];

$nombre=$_POST['nombre'];

 

 

 

mysql_connect("localhost","root");

 

mysql_select_db("prueba") or die ("Error al seleccionar la Base de Datos");

 

 

 

function quitar($mensaje)

 

{

 

$mensaje = str_replace("<","<",$mensaje);

 

$mensaje = str_replace(">",">",$mensaje);

 

$mensaje = str_replace("\'","'",$mensaje);

 

$mensaje = str_replace('\"',""",$mensaje);

 

$mensaje = str_replace("\\\\","\\",$mensaje);

 

return $mensaje;

 

}

 

 

 

 

$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";

 

$result = mysql_query($sql);

 

 

 

$sql = "INSERT INTO 'usuarios' (nick,password,nombre,email) VALUES (" ;

 

$sql .= "'".quitar($HTTP_POST_VARS["$nick"])."'";

 

$sql .= ",'".quitar($HTTP_POST_VARS["$password"])."'";

 

$sql .= ",'".quitar($HTTP_POST_VARS["$nombre"])."'";

 

$sql .= ",'".quitar($HTTP_POST_VARS["$email"])."'";

 

$sql .= ")";

 

mysql_query($sql);

 

echo "Registro exitoso!";

 

 

 

 

mysql_close();

 

?>

Edited by toy_land
Link to comment
Share on other sites

Aqui tienes el codigo, para que puedas continuar...

 

 

<--Formulario-->

 

<html>

<head>

<title>Formulario</title>

</head>

<body>

<form name="form1" method="post" action="registrar.php">

<table width="80" border="1">

<tr>

<td>Nick:</td>

<td><input type="text" name="nick"></td>

</tr>

<tr>

<td>Nombre:</td>

<td><input type="text" name="nombre"></td>

</tr>

<tr>

<td>password

<td><input type="password" name="password"></td>

</tr>

<tr>

<td>email</td>

<td><input type="text" name="email"></td>

</tr>

<tr>

<td colspan="2"><button type="submit">Enviar</button></td>

</tr>

</table>

</form>

</body>

</html>

 

<-- Registrar -->

 

<?

 

/* Funcion para conectarse a la base de datos Mysql */

function Conectarse()

{

if (!($link=mysql_connect("servidor","usuario","password")))

{

echo "Error conectando a la base de datos.";

exit();

}

if (!mysql_select_db("base de datos",$link))

{

echo "Error seleccionando la base de datos.";

exit();

}

return $link;

}

 

function quitar($mensaje)

{

$mensaje = str_replace("<","<",$mensaje);

$mensaje = str_replace(">",">",$mensaje);

$mensaje = str_replace("\'","'",$mensaje);

$mensaje = str_replace('\"',"",$mensaje);

return $mensaje;

}

 

/* realizo el link de conexion a la base de datos */

$link=Conectarse();

 

$nombre=$_POST['nombre'];

$nick=$_POST['nick'];

$email=$_POST['email'];

$password=$_POST['password'];

 

if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["nombre"]) != "" && trim($HTTP_POST_VARS["email"]) != "" && trim($HTTP_POST_VARS["password"]) != "")

{

$sql ="SELECT * FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";

$result =mysql_query($sql);

if($row =mysql_fetch_array($result)){

 

echo "Error, nick escogido por otro usuario";

 

}

else

{

mysql_query("insert into usuarios (nombre,nick,email,password) values ('$nombre','$nick','$email','$password')");

echo "Registro exitoso!";

}

mysql_free_result($result);

}

else

{

echo "Debe llenar todos los campos";

}

mysql_close();

?>

 

<-- Tabla Base de datos -->

 

CREATE TABLE `usuarios` (

`id` int(255) NOT NULL auto_increment,

`nick` varchar(255) NOT NULL,

`password` text NOT NULL,

`nombre` text NOT NULL,

`email` text NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

 

Bueno espero que te sirva de mucho,suerte y animo para que aprendas mucho de este lindo mundo que es PHP....

 

 

Link to comment
Share on other sites

vertifica que este llegando los datos desde el formulario:

 

crea un nuevo archivo registrar.php

 

<-- registrar.php -->

<?

$nombre=$_POST['nombre'];

$nick=$_POST['nick'];

$email=$_POST['email'];

$password=$_POST['password'];

 

echo 'Datos desde el Formulario<br>';

echo 'Nombre '.$nombre.'<br>';

echo 'nick '.$nick.'<br>';

echo 'email '.$email.'<br>';

echo 'password '.$password.'<br>';

 

?>

 

si llegan los datos todo deviera funcionar ok, ademas me indicas que version de php utilizas.

Ahora si no llega nada, el problema esta en el formulario, y de ser haci pon el formulario que te indique en el primer post.

 

Saludos.. :) :) :)

Edited by shadowoh1
Link to comment
Share on other sites

viejo hice todo lo que dijiste y me sigue apareciendo :"debe llenar todos los campos", verifique creando un nuevio registrar.php y me devuelve a la perfeccion.

 

edito el copdigo y lo dejo de la siguiente manera, e inserta pefecto:

 

<?php

 

 

 

//conectamos y seleccionamos db

mysql_connect("localhost","root");

 

mysql_select_db("prueba1") or die ("Error al seleccionar la Base de Datos");

 

$nombre=$_POST['nombre'];

$nick=$_POST['nick'];

$email=$_POST['email'];

$password=$_POST['password'];

 

 

mysql_query("insert into usuarios (nombre,nick,email,password)

values ('$nombre','$nick','$email','$password')");

echo "Registro exitoso!";

 

 

 

mysql_close();

?>

 

Mi version de php es 5.2.6

 

Utilizo WAMP 5.

 

Si lo dejo asi esta bien, pero la idea es que haya comprobacion de campos, que no este el usuario ya en la BD. etc

 

buejo ojala me puedas seguir ayudando me tiene metio esta huea..

por mientras me empiezo a meter en hacer un Login

 

SALUDOS

Edited by toy_land
Link to comment
Share on other sites

Verifica con esta modificacion:

 

/* ARCHIVO PHP */

<?

function Conectarse()

{

if (!($link=mysql_connect("servidor","user","pass")))

{

echo "Error conectando a la base de datos.";

exit();

}

if (!mysql_select_db("bd",$link))

{

echo "Error seleccionando la base de datos.";

exit();

}

return $link;

}

 

function quitar($mensaje)

{

$mensaje = str_replace("<","<",$mensaje);

$mensaje = str_replace(">",">",$mensaje);

$mensaje = str_replace("\'","'",$mensaje);

$mensaje = str_replace('\"',"",$mensaje);

return $mensaje;

}

$link=Conectarse();

$nombre=$_POST['nombre'];

$nick=$_POST['nick'];

$email=$_POST['email'];

$password=$_POST['password'];

 

if($nick!= "" && $nombre!= "" && $email!= "" && $password!= "")

{

$sql ="SELECT * FROM usuarios WHERE nick='".quitar($nick)."'";

$result =mysql_query($sql);

if($row =mysql_fetch_array($result)){

 

echo "Error, nick escogido por otro usuario";

 

}

else

{

mysql_query("insert into usuarios (nombre,nick,email,password) values ('$nombre','$nick','$email','$password')");

echo "Registro exitoso!";

}

mysql_free_result($result);

}

else

{

echo "Debe llenar todos los campos";

}

mysql_close();

?>

 

De no funcionar te subiré otro código con otra solución que también es viable

 

Saludos :) :)

Edited by shadowoh1
Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...