elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  duda con isset
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda con isset  (Leído 2,899 veces)
maryrisas

Desconectado Desconectado

Mensajes: 69


Ver Perfil
duda con isset
« en: 4 Febrero 2008, 22:02 pm »

Mi duda está en si por ejemplo tengo este codigo pues me hace lo contrario,es decir siempre me sale 'user y pass introducidos' tanto si introduzco user y pass como sino no los pongo en el formulario.¿que hago mal?Haber si me podeis ayudar.1saludo

if (!isset($_POST['usuario']) || !isset($_POST['password'])){
      
         echo 'Introduce user y pass';
      }
else{
         echo 'user y pass introducidos';
         }


En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: duda con isset
« Respuesta #1 en: 4 Febrero 2008, 22:15 pm »

Mi duda está en si por ejemplo tengo este codigo pues me hace lo contrario,es decir siempre me sale 'user y pass introducidos' tanto si introduzco user y pass como sino no los pongo en el formulario.¿que hago mal?Haber si me podeis ayudar.1saludo

if (!isset($_POST['usuario']) || !isset($_POST['password'])){
      
         echo 'Introduce user y pass';
      }
else{
         echo 'user y pass introducidos';
         }

Revisa bien tu código porque debes estar declarando las variables... sino prueba con:

Código
  1. if ($_post['usuario']!="" || $_post['password']!=""){
  2. echo 'user y pass introducidos';
  3. else{
  4. echo 'Introduce user y pass';
  5. }

Suerte


En línea

alone-in-the-chat


Desconectado Desconectado

Mensajes: 587


Ver Perfil
Re: duda con isset
« Respuesta #2 en: 4 Febrero 2008, 22:24 pm »

Si tu formulario tiene dos input asi no envies ningun valor dentro de esos campos , se crean las variables $_POST['nombrecampo'] , prueba con el codigo que te dio Ing_Amc de esa forma podras ver el si campo esta vacio tb existe una funcion llamada empty que te puede ayudar en esos casos.

Saludos


http://www.php.net/manual/es/function.empty.php


En línea

Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b
maryrisas

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: duda con isset
« Respuesta #3 en: 4 Febrero 2008, 22:30 pm »

Muchas gracias por la ayuda pero me sigue sin funcionar...El codigo del formulario es este:

<?
session_start();
?>
<html>
<body>
<h1>Login</h1>
<form action="menu.php" method="POST">
<label for="usuario">Username:<input type="text" name="usuario" maxlength="30"><br>
<label for="password">Password:<input type="text" name="password" maxlength="30"><br />
<p><input type="submit" name="logIn" value="Login"/></p>
</form>
</body>
</html>
En línea

alone-in-the-chat


Desconectado Desconectado

Mensajes: 587


Ver Perfil
Re: duda con isset
« Respuesta #4 en: 4 Febrero 2008, 22:34 pm »

Coloca el codigo de menu.php porfavor

Saludos

En línea

Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b
maryrisas

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: duda con isset
« Respuesta #5 en: 5 Febrero 2008, 00:19 am »

el codigo del menu.php es este:

<?
//comprobamos que user y pass llegan
if (!isset($_POST['usuario']) && !isset($_POST['password'])){
      
         echo 'user y pass no introducidos';
      }
else{
         echo 'user y pass introducidos';
      }
$host = 'localhost';
$user = 'root';
$pass = '';
$data = 'agenda';

$db = mysql_connect($host, $user, $pass) or die('No hay conexión');
mysql_select_db($data, $db) or die('No hay conexión');

$sql = "SELECT * FROM usuarios";
$qry = mysql_query($sql, $db);
?>
En línea

eLank0
eLhAcKeR r00Lz


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: duda con isset
« Respuesta #6 en: 5 Febrero 2008, 00:36 am »

Si usas el operador AND en la condición, sólo si ambas están inicializadas devuelve FALSE.

Deberías usar el operador OR, de este modo conseguirás el mensaje deseado si uno de los dos campos del formulario no está inicializado.

Salu2
En línea

Carxl

Desconectado Desconectado

Mensajes: 29

Intentando ser webmaster!!!


Ver Perfil
Re: duda con isset
« Respuesta #7 en: 5 Febrero 2008, 05:10 am »

Código:
<?php
if (!isset($_POST['usuario']) || !isset($_POST['password'])){

echo 'Introduce user y pass';
}
else{
echo 'user y pass introducidos';
}
?>

Hola maryrisas... Las variables post, siempre estarán definidas por lo que isset siempre te retornarán TRUE. Isset suele tener ese tipo de mal interpretación, dicha instrucción es para determinar si una variable está definida.

La mejor manera de comprobar si una variable posee un valor, osea que no esté vacía, ni un 0 (desde php5 el cero se constituye como un valor que designa a una variable vacía) y que esté definida, es preguntando por ella misma, es decir:

Código:
<?php
if ($_POST['usuario']) && $_POST['password'])
{
echo 'Hay valores para usuario y password';
}
else
{
echo 'NO HA INTRODUCIDO VALORES!!!!';
}
?>

Saludos, espero te sirva ;)
En línea

Hay 10 tipos de personas, los que entienden binario... y los que no!
maryrisas

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: duda con isset
« Respuesta #8 en: 5 Febrero 2008, 10:05 am »

ok,muchas gracias ya solucioné el problema
En línea

sortilego

Desconectado Desconectado

Mensajes: 39


Ver Perfil
Re: duda con isset
« Respuesta #9 en: 5 Febrero 2008, 12:44 pm »

Te combiene de todos modos usar:

if (!empty(dfsdfsdfsdf))

ya que la funcion "empty" es mas completa   (revisa vacios nulls etc)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines