Foros del Web » Programando para Internet » PHP »

php_self

Estas en el tema de php_self en el foro de PHP en Foros del Web. Hola a todos, me sucede lo siguiente: cuando ejecuto este codigo... <? if(isset($submit)) { //do some form processing here echo “thanks for the submission ”; ...
  #1 (permalink)  
Antiguo 28/05/2005, 12:58
Avatar de tabano  
Fecha de Ingreso: mayo-2005
Ubicación: Chile (Viña del mar)
Mensajes: 6
Antigüedad: 18 años, 11 meses
Puntos: 0
php_self

Hola a todos, me sucede lo siguiente:
cuando ejecuto este codigo...

<?
if(isset($submit))
{
//do some form processing here
echo “thanks for the submission ”;
}else {
?>
<form name=myform method=post action=<?=$PHP_SELF?>>
<input type=text name=first_name>first name<br>
<input type=text name=last_name>last name<br>
<input type=submit name=submit value=submit>
</form>
<?
}
?>

me aparece el siguiente mensaje:
Notice: Undefined variable: PHP_SELF

que puedo hacer para mejorarlo Muchas gracias de ante mano..
  #2 (permalink)  
Antiguo 28/05/2005, 14:05
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 20 años, 4 meses
Puntos: 2
hola, no entiendo bien que deseas hacer poe bueno...
en tu código noto algo raro:

<form name=myform method=post action=<?=$PHP_SELF?>>

qué intentas hacér con eso ese <?=$PHP_SELF?> ???

"ayuda a que te ayuden"
  #3 (permalink)  
Antiguo 28/05/2005, 15:09
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 3 meses
Puntos: 2
El problema es q la variable no existe, a la q te refieres, predifinida en PHP, es a $_SERVER['PHP_SELF'], utilizala así.
Código PHP:
<form name="myform" method="POST" action="<?=$_SERVER['PHP_SELF']?>">
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #4 (permalink)  
Antiguo 28/05/2005, 20:16
Avatar de tabano  
Fecha de Ingreso: mayo-2005
Ubicación: Chile (Viña del mar)
Mensajes: 6
Antigüedad: 18 años, 11 meses
Puntos: 0
Muchas gracias por tu ayuda...
  #5 (permalink)  
Antiguo 29/05/2005, 02:36
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Agrego... exáctamente el mismo error en tu condicional if(isset($submit))... igual debes hacer uso de la variable superglobal $_POST (según el method que tienes), entonces debería quedar así:
Código PHP:
<?
if(isset($_POST['submit']))
{
//do some form processing here
echo "thanks for the submission"// EDITO: Extrañamente las comillas que tenias no eran válidas al iluminar el código... supongo una simple curiosidad
}else {
?>
<form name="myform" method="post" action="<?=$_SERVER['PHP_SELF'?>">
<input type=text name=first_name>first name<br>
<input type=text name=last_name>last name<br>
<input type=submit name=submit value=submit>
</form>
<?
}
?>
... agrego como comentario: haz uso adecuado de las comillas... te faltan en todo lo que es tu HTML (name="algo"... etc).

FAQ: http://www.forosdelweb.com/showthrea...989#post238989


En la misma edición: Se te agradecería en futuras consultas ilumines el código como lo muestro, ve que es más fácil leerlo así y por lo tanto, se te podría ayudar mejor...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 29/05/2005, 02:45
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por nachopro
qué intentas hacér con eso ese <?=$PHP_SELF?> ???
$_SERVER['PHP_SELF'], para versiones posteriores a la 4.1 como se corrigió, lo que hace es obtener el nombre del script (fichero) que se está ejecutando actualmente, osease, el mismo fichero... entonces, al imprimirlo como "action" del formulario lo que haces es enviar los datos hacia sí mismo...

http://www.php.net/manual/es/reserve...riables.server

Saludos!
__________________
٩(͡๏̯͡๏)۶
» 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 11:24.