Foros del Web » Programando para Internet » PHP »

if(!isset dentro de php

Estas en el tema de if(!isset dentro de php en el foro de PHP en Foros del Web. holas una pregunta, se puede poner un isset dentro de un php? normalmente lo hago fuera, pero a ver si me dejo entender mejor con ...
  #1 (permalink)  
Antiguo 03/10/2005, 16:21
 
Fecha de Ingreso: mayo-2005
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 0
if(!isset dentro de php

holas

una pregunta, se puede poner un isset dentro de un php? normalmente lo hago fuera, pero a ver si me dejo entender mejor con el codigo:

Código PHP:
<?php
$opcion 
$_POST['opcion'];

if(
$opcion == "dos"){
echo 
"opcion 2";
    if (!isset(
$_POST['submit'])) {
    echo    
"<form method=post action="?>.<?php echo $_SERVER['PHP_SELF']; ?>.<? ">
             <table>
             <tr><td><input type=submit value=submit name=submit></td></tr>
             </table>
             </form>"
;
    }else{
    echo    
"todo ok";
    }

}elseif(
$opcion == "tres"){

}else{
}
?>
no me da error, pero tampoco me imprime el boton del submit. alguno sabe porque?

gracias
  #2 (permalink)  
Antiguo 03/10/2005, 16:43
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 13 años, 2 meses
Puntos: 4
Pues en teoria si que es correcto... Prueba con lo siguiente:

Código PHP:
<?php 
$opcion 
$_POST['opcion']; 

if(
$opcion == "dos"){ 
echo 
"opcion 2"
    if (!isset(
$_POST['submit'])) { 
    echo    
"<form method=post action=".$_SERVER['PHP_SELF']."> 
             <table> 
             <tr><td><input type='submit' value='submit' name='submit'></td></tr> 
             </table> 
             </form>"

    }else{ 
    echo    
"todo ok"
    } 

}elseif(
$opcion == "tres"){ 

}else{ 

?>
La verdad es que no veo el error... Lo único que prueba añadiendole las comillas al código HTML.
Saludos,

Editado.

También he cambiado la parte del action del form.
__________________
sergiold

Última edición por sergiold; 03/10/2005 a las 17:05
  #3 (permalink)  
Antiguo 03/10/2005, 17:00
 
Fecha de Ingreso: mayo-2005
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 0
perfecto! gracias!
  #4 (permalink)  
Antiguo 03/10/2005, 17:08
 
Fecha de Ingreso: febrero-2005
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 2
intenta con esto:


<?php
$opcion = $_POST['opcion'];

if($opcion == "dos"){
echo "opcion 2";
if (!isset($_POST['submit'])) {
echo "<form method=post action='".$_SERVER['PHP_SELF']."'>
<table>
<tr><td><input type='submit' value='submit' name='submit'></td></tr>
</table>
</form>";
}else{
echo "todo ok";
}

}elseif($opcion == "tres"){

}else{
}
?>
__________________
___________________________
Hosting y Dominios en colombia
Blog de Cubica
  #5 (permalink)  
Antiguo 03/10/2005, 17:12
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 13 años, 2 meses
Puntos: 4
Bueno pues la verdad es que a parte de las dos comillas... Tienes razón! Se las añado al input y me las olvido en el action!

Bueno pues eso mejor el último.

Saludos,
__________________
sergiold
  #6 (permalink)  
Antiguo 03/10/2005, 21:48
 
Fecha de Ingreso: mayo-2005
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 0
sigo teniendo problemas el primer isset funciona, pero el segundo me manda de nuevo a la priemra parte. ningun error, pero no entiendo bien porque.

Código PHP:
<?php
if(!isset($_POST['submit'])){
?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table width="40%">
<tr>
<td>cualquier cosa</td>
<td><input type="text" name="xxx" size="5"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="buscar"></td>
</tr>
</table>
</form>
<?
}else{
$yyy $_POST['xxx'];


 if (!isset(
$_POST['go'])) {
        echo    
"<form method='post' action='".$_SERVER['PHP_SELF']."'>
                <table>
    <tr><td><input type='submit' value='submit'name='go'></td></tr>
                </table>
                </form>"
;
    }else{
    echo    
"todo ok";

    } 


}
?>
no me funciona. alguna idea porque no? o es que 2 o mas isset's no se pueden poner juntos? grcias
  #7 (permalink)  
Antiguo 04/10/2005, 02:04
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
pero el segundo me manda de nuevo a la priemra parte.
Si te refieres a que, a el enviar el segundo formulario te imprime el primero... pués no hay error; así estás definiendo el comportamiento.

No hay ningún elemento "submit" en el segundo formulario. A el enviarlo vuelve a ejecutarse la primera condicional, la cuál te devolverá TRUE (repito: no hay ningún elemento "sibmit" en el segundo formulario) y se mostrará nuevamente el primer formulario.

Los datos enviados por POST no son arrastrados. Puedes poner cuantos isset() quieras, no hay problema en ello.

Un saludo!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 08:12.