Foros del Web » Programando para Internet » PHP »

Error undefine index ¿como lo soluciono?

Estas en el tema de Error undefine index ¿como lo soluciono? en el foro de PHP en Foros del Web. <?php $dbhost='localhost'; $dbusername='root'; $dbuserpass='24404623'; $dbname='prueba'; session_start(); // Conectar a la base de datos mysql_connect ($dbhost, $dbusername, $dbuserpass); mysql_select_db($dbname) or die('Cannot select database'); if ($_POST['username']) { ...
  #1 (permalink)  
Antiguo 12/09/2013, 07:37
 
Fecha de Ingreso: julio-2013
Mensajes: 309
Antigüedad: 10 años, 9 meses
Puntos: 2
Error undefine index ¿como lo soluciono?

<?php

$dbhost='localhost';
$dbusername='root';
$dbuserpass='24404623';
$dbname='prueba';
session_start();
// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');
if ($_POST['username']) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if ($password==NULL) {
echo "La password no fue enviada";
}else{
$query = mysql_query("SELECT username,password FROM admin WHERE username = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Login incorrecto";
}else{
$query = mysql_query("SELECT username,password FROM admin WHERE username = '$username'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
echo "Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
echo '<a href="logout.php">Logout</a>';
}
}
}


me sale este error :

Notice: Undefined index: username in C:\xampp\htdocs\prueba\login1.php on line 17

Que sera , que es lo que tengo que definir ¿la variable username? ya esta definida con $username=$_POST['username'];


le agradezco su ayuda


saludos
  #2 (permalink)  
Antiguo 12/09/2013, 07:40
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Error undefine index ¿como lo soluciono?

hola primero tenes que comprobar que el indice realmente existe:

var_dump($_POST['username']);

y luego esta validacion

if( isset( $_POST['username'] ) && !empty( $_POST['username'] ) {



es la forma correcta de validar una un indice
  #3 (permalink)  
Antiguo 12/09/2013, 08:51
 
Fecha de Ingreso: julio-2013
Mensajes: 309
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Error undefine index ¿como lo soluciono?

Cita:
Iniciado por Patriarka Ver Mensaje
hola primero tenes que comprobar que el indice realmente existe:

var_dump($_POST['username']);

y luego esta validacion

if( isset( $_POST['username'] ) && !empty( $_POST['username'] ) {



es la forma correcta de validar una un indice
hola , me funciono , pero tengo otra formulario , que al validar el login aparece un mensaje el otro archivo php , pero me sale el mismo error y con tu codigo no me funciona


es este :
Código PHP:
<?php

// Configura la información de tu cuenta
$dbhost='localhost';
$dbusername='root';
$dbuserpass='24404623';
$dbname='prueba';
session_start();
// Conexión a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

  if( isset( 
$_SESSION['s_username'] )) {
echo 
"Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!";
}else{
echo 
"Tu no estas autentificado dirígete a login.php o registrate en register.php";
echo 
$_SESSION['s_username'];
}
?>
Me dice : Notice: Undefined index: s_username in C:\xampp\htdocs\prueba\index.php on line 17
  #4 (permalink)  
Antiguo 12/09/2013, 08:52
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: Error undefine index ¿como lo soluciono?

Se te olvidó el session_start();
  #5 (permalink)  
Antiguo 12/09/2013, 09:01
 
Fecha de Ingreso: julio-2013
Mensajes: 309
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Error undefine index ¿como lo soluciono?

Cita:
Iniciado por Strings Ver Mensaje
Se te olvidó el session_start();
Si , lo tiene en los 2 archivos


saludos
  #6 (permalink)  
Antiguo 12/09/2013, 09:19
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Error undefine index ¿como lo soluciono?

Cita:
Iniciado por Patriarka Ver Mensaje
hola primero tenes que comprobar que el indice realmente existe:

var_dump($_POST['username']);

y luego esta validacion

if( isset( $_POST['username'] ) && !empty( $_POST['username'] ) {



es la forma correcta de validar una un indice
Ojo con empty que valida ademas de vacio y null, que el valor no sea 0, deberías asegurarte que no es un valor deseado.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #7 (permalink)  
Antiguo 12/09/2013, 09:22
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Error undefine index ¿como lo soluciono?

Este código te genera error ya que

Código PHP:
Ver original
  1. if( isset( $_SESSION['s_username'] )) {
  2.     echo "Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!";
  3. }else{
  4.     echo "Tu no estas autentificado dirígete a login.php o registrate en register.php";
  5.     echo $_SESSION['s_username'];
  6. }

Estas validando de que exista $_SESSION['s_username'], pero aun después de haberlo validado lo SIGUES mostrando en el else

Solucion para ese trozo de codigo?

Quita echo $_SESSION['s_username']; del else

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #8 (permalink)  
Antiguo 12/09/2013, 09:29
 
Fecha de Ingreso: julio-2013
Mensajes: 309
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Error undefine index ¿como lo soluciono?

Cita:
Iniciado por jonni09lo Ver Mensaje
Este código te genera error ya que

Código PHP:
Ver original
  1. if( isset( $_SESSION['s_username'] )) {
  2.     echo "Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!";
  3. }else{
  4.     echo "Tu no estas autentificado dirígete a login.php o registrate en register.php";
  5.     echo $_SESSION['s_username'];
  6. }

Estas validando de que exista $_SESSION['s_username'], pero aun después de haberlo validado lo SIGUES mostrando en el else

Solucion para ese trozo de codigo?

Quita echo $_SESSION['s_username']; del else

Saludos
Bien , me funiono gracias

Etiquetas: index, mysql, select, sql, variable
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 10:08.