Foros del Web » Programando para Internet » PHP »

Error en en este codigo

Estas en el tema de Error en en este codigo en el foro de PHP en Foros del Web. ayuda me sale un error en $HTTP_POST_VARS y no se por que dice Notice: Undefined variable: HTTP_POST_VARS in comprobar.php on line 12 <?php session_start(); //datos ...
  #1 (permalink)  
Antiguo 02/05/2012, 13:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 7 meses
Puntos: 2
Error en en este codigo

ayuda me sale un error en $HTTP_POST_VARS y no se por que

dice Notice: Undefined variable: HTTP_POST_VARS in comprobar.php on line 12


<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root','')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('usuarios')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
$password = $HTTP_POST_VARS["password"];
//o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
$password = $HTTP_POST_VARS["password"];
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="index.html">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
/*Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>*/
}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();
?>
  #2 (permalink)  
Antiguo 02/05/2012, 13:41
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Error en en este codigo

No es un error, es un notice, pero proba de usar $_POST en vez de $HTTP_POST_VARS
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 02/05/2012, 14:00
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Error en en este codigo

ya puse $_POST pero haora me dice Debe especificar un usuario y password
  #4 (permalink)  
Antiguo 02/05/2012, 14:01
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Error en en este codigo

donde esta el formulario donde le pasas por post el usuario y password?
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #5 (permalink)  
Antiguo 02/05/2012, 14:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Error en en este codigo

<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root','')or die ('Ha fallado la conexión con el servidor: '.mysql_error());
mysql_select_db('tienda')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function formRegistro(){
?>
//esto es lo que que se va a ver, ese un formulario pequeño
<form action="registrarse.php" method="post">
Usuario:
<input type="text" name="username" size="30" maxlength="20"><br>
Password:
<input type="password" name="password" size="40" maxlength="10">
Confirma: <input type="password" name="password2" size="40" maxlength="10"><br>
Email:
<input type="text" name="email" size="20" maxlength="40"><br>
<input type="submit" value="Registrarse">
</form>
<?php
}
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["username"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$password2 = $_POST["password2"];
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$password2==NUL L|$email==NULL) {
echo "un campo está vacio.";
formRegistro();
}else{
// ¿Coinciden las contraseñas?
if($password!=$password2) {
echo "Las contraseñas no coinciden";
formRegistro();
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0|$username_exist>0) {
echo "El nombre de usuario o la cuenta de correo estan ya en uso";
formRegistro();
}else{
$query = 'INSERT INTO usuarios (usuario, password, email, fecha)
VALUES (\''.$username.'\',\''.$password.'\',\''.$email.'\ ',\''.date("Y-m-d").'\')';
mysql_query($query) or die(mysql_error());
echo 'El usuario '.$username.' ha sido registrado de manera satisfactoria.<br />';
echo 'Ahora puede entrar ingresando su usuario y su password<br />';
?>
<?php
}
}
}
}else{
formRegistro();
}
?>
  #6 (permalink)  
Antiguo 02/05/2012, 14:28
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: Error en en este codigo

Al parecer en el formulario tienes
Código PHP:
Ver original
  1. if (isset($_POST["username"])) {
  2. $username = $_POST["username"];

Y después haces esto:
Código PHP:
Ver original
  1. if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
  2. {
  3. // Puedes utilizar la funcion para eliminar algun caracter en especifico
  4. $usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));

Y estas tratando de tomar la variable usuario, que por lo que vi no existe... en el name del form la llamas "username"; y después donde tomas el valor la llamas $username = $_POST['username'] .

Saludos
  #7 (permalink)  
Antiguo 02/05/2012, 14:54
 
Fecha de Ingreso: marzo-2012
Ubicación: Republica Dominicana
Mensajes: 51
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Error en en este codigo

Ponle un @ delante de la linea donde esta el error notice y no te saldra error de esa linea

o mejor aun puedes poner este codigo al principio y no te salen errores asi:
error_reporting(E_ALL & E_NOTICE & E_STRICT);

:D...!
  #8 (permalink)  
Antiguo 02/05/2012, 15:05
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Error en en este codigo

gracias amigo ya me funciono

Etiquetas: html, mysql, variables, usuarios
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 20:51.