Inicio > Mis eListas > php-con-clase > Mensajes

 Índice de Mensajes 
 Mensajes 201 al 220 
AsuntoAutor
no puedo leer un v danimori
Re: no puedo leer kkwete
Reasignación no vá magovi16
Agloco te paga por Juan
listas de correo Scunny
problema con varia manuel
variable manuel
Re: variable Abner Tr
Re: problema con v Abner Tr
Re: problema con v MAXIMILI
Re: no puedo leer Degochan
creación de login José de
Re: creación de lo Ulises V
Re: creación de lo José de
Me presento carlossr
problema de caract jujoboro
iWeekend Madrid,09 David
Ejecutar código en Adrian
RE: harenson
=?UTF-8?Q?Re=3A_=5 =?UTF-8?
 << 20 ant. | 11 sig. >>
 
PHP con Clase
Página principal    Mensajes | Enviar Mensaje | Ficheros | Datos | Encuestas | Eventos | Mis Preferencias

Mostrando mensaje 214     < Anterior | Siguiente >
Responder a este mensaje
Asunto:Re: [php-con-clase] creación de login
Fecha:Sabado, 17 de Mayo, 2008  18:57:43 (-0600)
Autor:José de Paz <jose.depaz @.....com>

gracias, ya solucione el problema con esta ayuda
 
----- Original Message -----
Sent: Friday, May 16, 2008 5:59 PM
Subject: Re: [php-con-clase] creación de login


Hola José,
te sugiero que uses lo siguiente:

// para pruebas
error_reporting(E_USER_ERROR E_USER_WARNING E_USER_NOTICE);
// para produccion
error_reporting(0);
/*
te va informar un montón de cosas.
entre otras
los errores de parseo,
variables no definidas, etc.

cuando definas variables no uses "comillas dobles" usa 'comilla simple'
ten en cuenta que la retrobarra \ es un caracter de escape.
entonces esto
$mensaje = str_replace("\\\\","\",$mensaje); //dará error.
y esto no
$mensaje = str_replace('\\\\','\\',$mensaje);

usa print_r o var_dump
para ver que le llego a página destino en tu caso registrar.php
Te recomiendo usar $_POST
en lugar de $HTTP_POST_VARS
desde PHP4 en adelante.

ej:

print_r($_POST);
Te mostrará algo parecido a esto :
Array ( [nick] => nick [email] => emilio [password] => pass [nombre] => nombre )

NUNCA PASES AL SQL variables que levantas desde UN FORMULARIO
valida todas y cada una (TE AHORRA MUCHOS DOLORES DE CABEZA.).

ejemplo:
$nick =  '';
 
if (
str_len($_POST['nick'] ) > 0
)
{
      // entonces ok
      $nick =
$_POST['nick']; // nota que uso comillas simples.
} else {
     die ("la cadena esta vacia");
}


y después utilizas las variables validadas en tu SQL.

Saludos, y Suerte.

*/








El día 16 de mayo de 2008 19:32, José de Paz <jose.depaz@gmail.com> escribió:
saludos Lista,
 
tengo instalado Apache 2.2 con ssl y PHP 5.2.6, y como BD MySQL 5.0.45,
 
estoy desarrollando una aplicación de ingreso de usuarios, y tengo dos
archivos en la carpeta htdocs de Apache: "form.html" y "registrar.php"
 
 
el "form.html" funciona correctamente, pero el "registrar.php" no,
aqui el código:
 
 
tabla usuarios:
 
CREATE TABLE usuarios ( 
      id bigint(7) NOT NULL auto_increment, 
      nick char(100) NOT NULL, 
      password char(100) NOT NULL, 
      nombre char(255) default NULL, 
      email char(100) default NULL, 
      KEY id (id))
 
 
 
 
 
 
form.html
 
      <FORM ACTION="registrar.php" METHOD="post">
      Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20>
      <BR>
      Email: <INPUT TYPE="text" NAME="email" SIZE=28 MAXLENGTH=100>
      <BR>
      Password: <INPUT TYPE="password" NAME="password"
      SIZE=28 MAXLENGTH=20>
      <BR>
      Nombre: <INPUT TYPE="text" NAME="nombre" SIZE=28
      MAXLENGTH=255>
      <BR>
      <INPUT TYPE="submit" CLASS="boton" VALUE="Registrar">
      </FORM>
 
 
registrar.php
 
<?php
$server="localhost"; /* Nuestro server mysql */
$database="test"; /* Nuestra base de datos */
$dbpass="adminr"; /*Nuestro password mysql */
$dbuser="root"; /* Nuestro user mysql */
 
$link=mysql_connect($server,$dbuser,$dbpass);
 
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo "Connected successfully";
 
$db_selected = mysql_select_db($database, $link);
 
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,$link);
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();
?>


--------------------------------------------------------------------- 
Para darte de alta, envía un mensaje a php-con-clase-alta@eListas.net 
Para darte de baja, envía un mensaje a php-con-clase-baja@eListas.net 
PHP con Clase - http://www.eListas.net/lista/php-con-clase 




--------------------------------------------------------------------- 
Para darte de alta, envía un mensaje a php-con-clase-alta@eListas.net 
Para darte de baja, envía un mensaje a php-con-clase-baja@eListas.net 
PHP con Clase - http://www.eListas.net/lista/php-con-clase