Comunidad de diseño web y desarrollo en internet online

Undefined index: terminar in

Citar            
MensajeEscrito el 04 Ago 2009 03:41 am
Hola a todos,

estoy aprendiendo PHP, usando la herramienta NuSphere PhpEd, y usando un libro de la revista users, el tema es que entre en la parte de manejo de sesiones, y no entiendo algunas cosas. Copie un código que venia en el libro, y en el PhpEd funciona perfecto, pero si usando wamp server lo intento correr desde ahí mismo, me da el siguiente error:

Notice: Undefined index: terminar in F:\wamp\www\index.php on line 5

Notice: Undefined index: usuarioRegistrado in F:\wamp\www\index.php on line 23

Notice: Undefined variable: error in F:\wamp\www\index.php on line 26

Y no tengo la mas mínima idea de porque larga ese error, alguien me dice porque?
Les adjunto el código fuente.
gracias!

Código PHP :

<?php

session_start();

if ($_GET["terminar"]) {
  session_unset();
  session_destroy();
  header("location: ?");
}

if (count($_POST)) {
  $username = "user";
  $password = "pass";

  if ($username == $_POST["frmUsername"] && $password == $_POST["frmPassword"]) {
    $_SESSION["usuarioRegistrado"] = true;
    header("location: ?");
  } else {
    $error = "Datos incorrectos";
  }
} 

if ($_SESSION["usuarioRegistrado"]) {
  echo "<center>Ingreso correcto - <a href='?terminar=1'>Terminar sesion</a></center>";
} else {
  echo "<center>$error</center>";
  //mostramos aquí el formulario de ingreso
  ?>
   <br />
   <form method="post" action="?">
   <table border="1" cellspacing="0" cellpadding="5" align="center">
   <tr>
     <td>Ingrese su nombre de usuario</td>
     <td><input type="text" name="frmUsername"></td>
   </tr>
   <tr>
     <td>Ingrese su contraseña</td>
     <td><input type="password" name="frmPassword"></td>
   </tr>
   <tr>
     <td colspan="2"><input type="submit" value="Enviar datos"></td>
   </tr>
   </table>
   </form>

   <?php
}
?>

Por devc

56 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 04 Ago 2009 04:54 am
En la linea 5 y 23 estas queriendo acceder al indice de un array que no existe. Creo que tendrias que hacer

Código PHP :

if (!isset($_GET['terminar']))
y

Código PHP :

if (!isset($_SESSION["usuarioRegistrado"]))


Para el otro error, la variable $error no esta definida, chequea eso.

Estos "errores" se deben a que tu server debe estar configurado de manera bastante estrica, de todas formas, ambos son errores de programacion que no deberian suceder en aplicaciones de produccion.

Por Dientuki

Claber

2021 de clabLevel

11 tutoriales
1 articulo

Genero:Masculino   Héroes

Front-end Ninja

firefox
Citar            
MensajeEscrito el 04 Ago 2009 05:14 am
Ya me di cuenta cual es el error gracias a Dientuki!
El problema esta en que no estan seteadas las variables de sesión 'terminar', 'usuarioRegistrado' y no definí la variable $error ( ="" )
Ah! y no use ! (negación), porque sino me larga un error feo! así que se lo saque y funciona bien.
Gracias Dientuki de nuevo!

Por devc

56 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 31 Mar 2011 06:29 pm
hola soy nueva en php y estoy haciendo una aplicacion y me da el siguiente error
Notice: Undefined index: accion in C:\Archivos de programa\EasyPHP-5.3.3\www\Farmacia\ver1.php on line 59
y la tengo decalarada asi: $accion=$_GET['accion'];
alguien me puede ayudar?
por favor gracias!!!!!!!!

Por gar

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Mar 2011 06:33 pm
hola soy nueva en php y estoy haciendo una aplicacion y me da el siguiente error
Notice: Undefined index: accion in C:\Archivos de programa\EasyPHP-5.3.3\www\Farmacia\ver1.php on line 59
y la tengo decalarada asi: $accion=$_GET['accion'];
alguien me puede ayudar?
por favor gracias!!!!!!!!

Por gar

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Abr 2011 02:02 pm

gar escribió:

hola soy nueva en php y estoy haciendo una aplicacion y me da el siguiente error
Notice: Undefined index: accion in C:\Archivos de programa\EasyPHP-5.3.3\www\Farmacia\ver1.php on line 59
y la tengo decalarada asi: $accion=$_GET['accion'];
alguien me puede ayudar?
por favor gracias!!!!!!!!

es por que es problema de declaraciones de variables php te indica que esa variable no esta declarada y tiene logica como puedes acceder a algo que no existe
para eso esta la funcion isset la cual indica con valor booleano si la variable existe o no
tendrias que reemplazar

Código PHP :

$accion=$_GET['accion'];

por

Código PHP :

//forma larga
/*
if( isset( $_GET['accion'] ) )
{
$accion=$_GET['accion'];
}
else
{
$accion='sin_accion' ;
}
*/
//forma corta
$accion= isset( $_GET['accion'] ) ?  $_GET['accion'] : 'sin_accion' ;

acostumbra a declarar variables y a comprobarlas asi te sera mas facil aprender otros lenguajes

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 01 Abr 2011 05:31 pm
Muchas Gracias!!! por compartir tus conocimientos ... y por el consejo ,tienes mucha razon tengo que acostumbrarme a comparar. las variables ...... Gracias!!!!!

Por gar

3 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.