Foros del Web » Programando para Internet » PHP »

Problemas con "post" en PHP

Estas en el tema de Problemas con "post" en PHP en el foro de PHP en Foros del Web. Hola a todos. Les comento: Cada vez q intento hacer una "form" con su respectivo retrieving en PHP, tengo problemas. Lo extraño, es q cuando ...

  #1 (permalink)  
Antiguo 06/05/2009, 17:06
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Problemas con "post" en PHP

Hola a todos.

Les comento:

Cada vez q intento hacer una "form" con su respectivo retrieving en PHP, tengo problemas.

Lo extraño, es q cuando se ejecuta cumple con sus funciones perfectamente. El problema es q cuando presiono "enter" sobre la barra de direcciones (no cuando actualizo con F5), me saltan todos los errores.

Me pasa con cualquier ejemplo, pero copio un ejemplo de la web tizag:

HTML:

<html><body>
<h4>Tizag Art Supply Order Form</h4>
<form action="process.php" method="post">
<select name="item">
<option>Paint</option>
<option>Brushes</option>
<option>Erasers</option>
</select>
Quantity: <input name="quantity" type="text" />
<input type="submit" />
</form>
</body></html>

PHP:

<html><body>
<?php
$quantity = $_POST['quantity'];
$item = $_POST['item'];

echo "You ordered ". $quantity . " " . $item . ".<br />";
echo "Thank you for ordering from Tizag Art Supplies!";

?>
</body></html>


Este no es el ejemplo, pero es lo mismo, ya q me pasa con todos.

Cuando presiono la tecla "enter", me sale el siguiente error:

Notice: Undefined index: barrio in C:\wamp\www\process.php on line 13



Alguien sabe q es lo q pasa? La verdad q volvi ahora con esto de programar en php, y cuando deje, a mediados del año pasado, no tenia este problema.

Aclaro q uso Wamp 2.0 con Php 5.2.9-2 y Apache 2.2.11


Espero q me puedan ayudar.

Última edición por thenewuser; 08/05/2009 a las 08:27
  #2 (permalink)  
Antiguo 06/05/2009, 19:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con "post" en PHP

Esos son notices, no son errores y para mitigarlos, antes de usar una variable tienes que comprobar con isset() que exista la variable.

Saludos.
  #3 (permalink)  
Antiguo 07/05/2009, 07:07
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Bueno, antes q nada muchas gracias por responder.

Intenté usar Isset(), pero me devuelve q la variable no existe.

Sin embargo, creo q la form esta bien hecha, ya q en versiones anteriores de Wamp, me corria perfectamente. Ahora tambien corre bien, pero me tira ese "notice" cuando presiono "enter".

Que es lo q deberia cambiar en el script para q no tire mas el "notice"?

Aclaro: mi idea es reparar lo q esta mal, no sacar los avisos desde el config.
  #4 (permalink)  
Antiguo 07/05/2009, 07:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con "post" en PHP

pues es eso mismo....

programaste tu script para versiones obsoletas de configuración, por favor... lee en el manual de PHP sobre como hacer la migración, aunque básicamente es algo así:

Código PHP:
<input name="foo"/>
<select name="bar"/>

<?php
  
echo $_POST['foo'];
  echo 
$_POST['bar'];
?>
demás, el ejemplo de tizag es inadecuado, incompleto, ademas de incorrecto, e invalido con los estándares actuales.... (me refiero al HTML)


Referencia:
http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 07/05/2009, 08:07
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Pido disculpas, el ejemplo de Tizag q puse estaba incompleto. Acá esta la version verdadera y completa:

HTML:

<html><body>
<h4>Tizag Art Supply Order Form</h4>
<form action="process.php" method="post">
<select name="item">
<option>Paint</option>
<option>Brushes</option>
<option>Erasers</option>
</select>
Quantity: <input name="quantity" type="text" />
<input type="submit" />
</form>
</body></html>


PHP:

<html><body>
<?php
$quantity = $_POST['quantity'];
$item = $_POST['item'];

echo "You ordered ". $quantity . " " . $item . ".<br />";
echo "Thank you for ordering from Tizag Art Supplies!";

?>
</body></html>



Sigue siendo obsoleto? Que tendria q cambiar exactamente en ese caso?
  #6 (permalink)  
Antiguo 07/05/2009, 08:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con "post" en PHP

Como te comento debes de comprobar que existan las variables antes de usarlas:
Código php:
Ver original
  1. <html><body>
  2. <?php
  3. if (isset($_POST['quantity'])) {
  4.        $quantity = $_POST['quantity'];
  5. }
  6. $item = $_POST['item'];
  7.  
  8. echo "You ordered ". $quantity . " " . $item . ".<br />";
  9. echo "Thank you for ordering from Tizag Art Supplies!";
  10.  
  11. ?>
  12. </body></html>

Saludos.
  #7 (permalink)  
Antiguo 07/05/2009, 08:53
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Gracias por tu respuesta, pero sigo con el problema.

Use tu script. Corre bien, sin problemas. Pero cuando presiono enter sobre la barra de direcciones, salta lo siguiente (copio):

Notice: Undefined index: item in C:\wamp\www\process2.php on line 7

Notice: Undefined variable: quantity in C:\wamp\www\process2.php on line 9
You ordered .
Thank you for ordering from Tizag Art Supplies!




NOTA: las lineas 7 y 9 son estas:

Linea 7: $item = $_POST['item'];

Linea 9: echo "You ordered ". $quantity . " " . $item . ".<br />";
  #8 (permalink)  
Antiguo 07/05/2009, 09:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con "post" en PHP

Tienes que hacerlo por cada variable, yo solo te di un ejemplo, no era para que lo probaras literalmente era para que vieras como funciona isset().

Saludos.
  #9 (permalink)  
Antiguo 07/05/2009, 10:39
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Disculpen q sea tan molesto pero estoy con esto hace unos dias ya.

Use el isset() en las dos variables y ahora me tira otro error: "Undefined Variable":

PHP:

<html><body>
<?php

if (isset($_POST['quantity'])) {
$quantity = $_POST['quantity'];
}

if (isset($_POST['item'])) {
$item = $_POST['item'];
}

echo "You ordered ". $quantity . " " . $item . ".<br />"; //------> esta es la linea 12
echo "Thank you for ordering from Tizag Art Supplies!";

?>
</body></html>



ERROR:

Notice: Undefined variable: quantity in C:\wamp\www\process2.php on line 12

Notice: Undefined variable: item in C:\wamp\www\process2.php on line 12
You ordered .
Thank you for ordering from Tizag Art Supplies!


Alguna otra solucion?

PD: les pido q me ayuden con este ejemplo concreto por favor, ya q es bien simple y me ayudaria a entender cualquier otro.
  #10 (permalink)  
Antiguo 07/05/2009, 10:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con "post" en PHP

Esque es lo mismo si te fijas tu estas imprimiendo $quantity, e $item, si estos no entran por los isset() de POST, nunca se define la variable, tendrias que inicializar al variable antes de usarla, por ejemplo:
Código php:
Ver original
  1. $item = 0;
  2. if (isset($_POST['item'])) {
  3.       $item = $_POST['item'];
  4. }

Saludos.
  #11 (permalink)  
Antiguo 07/05/2009, 11:05
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Gracias nuevamente, pero soy bastante nuevo con esto. Por eso no entiendo la explicación. Lo q me llama la atencion, es q este mismo script a mediados del año pasado me funcionaba perfecto y ahora (evidentemente por un tema de versiones actualizadas), no funciona correctamente.

Me pregunto qué es lo q cambió en unos meses para q un script q funcionaba, ahora lo haga mal. No creo q pueda haber cambiado mucho en tan poco tiempo.

La cuestion es q el script sigue sin funcionar correctamente. Si alguien puede postear el mismo script (son solo unas lineas) de la manera q tiene q estar en la version 5.9.2-2 de PHP, le agradecere muchisimo.
  #12 (permalink)  
Antiguo 07/05/2009, 13:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con "post" en PHP

Como te comente, el problema es la directiva error_reporting, esos son notices, o sea no son errores, si tu buscas en tu php.ini y buscas la directiva error_reporting la vas a poder modificar a tu gusto.

Saludos.
  #13 (permalink)  
Antiguo 07/05/2009, 15:02
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Es q eso tambien lo hice y tampoco funcionó. Increiblemente modifique el php.ini y me sigue tirando los "notice" como si nada. Si no molestaran, no me preocuparia. Pero si yo presiono "enter" en la barra de direcciones cuando la pagina esta cargada, todo deberia quedar igual, por mas q apretara 50 veces.

Sin embargo, con una sola vez q presione "enter", ya me salen las "notice".
  #14 (permalink)  
Antiguo 07/05/2009, 16:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con "post" en PHP

Que directiva de error_reporting pusiste en tu pho.ini?

Saludos.
  #15 (permalink)  
Antiguo 07/05/2009, 17:44
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Te copio la parte del php.ini entera para saber si lo hice en la parte correcta. La directiva la puse en negrita. Estaba originalmente en E_ALL y despues de leer en algunos foros, la pase a E_ALL & ~E_NOTICE.


;;;;;;;;;;;;;;;;;;;
; About this file ;
;;;;;;;;;;;;;;;;;;;
; This is the recommended, PHP 5-style version of the php.ini-dist file. It
; sets some non standard settings, that make PHP more efficient, more secure,
; and encourage cleaner coding.
;
; The price is that with these settings, PHP may be incompatible with some
; applications, and sometimes, more difficult to develop with. Using this
; file is warmly recommended for production sites. As all of the changes from
; the standard settings are thoroughly documented, you can go over each one,
; and decide whether you want to use it or not.
;
; For general information about the php.ini file, please consult the php.ini-dist
; file, included in your PHP distribution.
;
; This file is different from the php.ini-dist file in the fact that it features
; different values for several directives, in order to improve performance, while
; possibly breaking compatibility with the standard out-of-the-box behavior of
; PHP. Please make sure you read what's different, and modify your scripts
; accordingly, if you decide to use this file instead.
;
; - register_long_arrays = Off [Performance]
; Disables registration of the older (and deprecated) long predefined array
; variables ($HTTP_*_VARS). Instead, use the superglobals that were
; introduced in PHP 4.1.0
; - display_errors = On [Security]
; With this directive set to off, errors that occur during the execution of
; scripts will no longer be displayed as a part of the script output, and thus,
; will no longer be exposed to remote users. With some errors, the error message
; content may expose information about your script, web server, or database
; server that may be exploitable for hacking. Production sites should have this
; directive set to off.
; - log_errors = On [Security]
; This directive complements the above one. Any errors that occur during the
; execution of your script will be logged (typically, to your server's error log,
; but can be configured in several ways). Along with setting display_errors to off,
; this setup gives you the ability to fully understand what may have gone wrong,
; without exposing any sensitive information to remote users.
; - output_buffering = 4096 [Performance]
; Set a 4KB output buffer. Enabling output buffering typically results in less
; writes, and sometimes less packets sent on the wire, which can often lead to
; better performance. The gain this directive actually yields greatly depends
; on which Web server you're working with, and what kind of scripts you're using.
; - register_argc_argv = Off [Performance]
; Disables registration of the somewhat redundant $argv and $argc global
; variables.
; - magic_quotes_gpc = Off [Performance]
; Input data is no longer escaped with slashes so that it can be sent into
; SQL databases without further manipulation. Instead, you should use the
; database vendor specific escape string function on each input element you
; wish to send to a database.
; - variables_order = "GPCS" [Performance]
; The environment variables are not hashed into the $_ENV. To access
; environment variables, you can use getenv() instead.
; - error_reporting = E_ALL & ~E_NOTICE [Code Cleanliness, Security(?)]
; By default, PHP suppresses errors of type E_NOTICE. These error messages
; are emitted for non-critical errors, but that could be a symptom of a bigger
; problem. Most notably, this will cause error messages about the use
; of uninitialized variables to be displayed.
; - allow_call_time_pass_reference = Off [Code cleanliness]
; It's not possible to decide to force a variable to be passed by reference
; when calling a function. The PHP 4 style to do this is by making the
; function require the relevant argument by reference.
; - short_open_tag = Off [Portability]
; Using short tags is discouraged when developing code meant for redistribution
; since short tags may not be supported on the target server.



Lo q sí, me confunde un poco q en Wamp tengo como tres o cuatro php.ini. Alguno en carpeta php, otro en carpeta Apache y no sé cuantos mas. Es dificil saber en cuales se cambia. Por lo pronto, lo hice en 3 al menos.

Gracias por tu ayuda.
  #16 (permalink)  
Antiguo 07/05/2009, 21:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con "post" en PHP



lo que has editado, solo son los comentarios... que inician con punto y coma

eso no va surtir efecto alguno, ya que son solo comentarios... debes revisar bien el php.ini y modificar la directiva real, osea... que no este comentada!

Código:
error_reporting = E_ALL & ~E_NOTICE
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 07/05/2009, 22:16
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Gracias por la aclaración.

De todas formas, me di cuenta de q no me conviene desactivar los "notice". Ademas, mi problema no se soluciona sacando los avisos, sino escribiendo el codigo de la manera correcta.

Mas q sacar los "notice", me interesa saber cual es hoy por hoy la forma correcta de pasar variables de un formulario a traves de $_POST.

Volvi a programar en PHP hace una semana y no lo puedo creer. La ultima vez q lo habia hecho fue a mediados del año pasado y exactamente con el mismo servidor (WAMP, aunq obviamente con la version de ese momento).

En aquel momento, yo usaba el ejemplo q puse en este thread y me corria PERFECTO, sin ningun tipo de errores ni problemas de variables ni nada.

Evidentemente, algo cambio en las versiones q siguieron, ya q ahora de golpe uso el mismo script y veo q poner $variable = $_POST['variable'] ya no funciona mas.

Es realmente decepcionante y nadie puede decirme qué es exactamente lo q cambió.

Aclaro q el año pasado yo usaba PHP5 ya, asi q no es una migracion, sino q evidentemente hubo un cambio en las sub-versiones.

Espero poder entender qué es lo q cambio exactamente
  #18 (permalink)  
Antiguo 07/05/2009, 22:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con "post" en PHP

Cita:
Iniciado por thenewuser Ver Mensaje
[...] mi problema no se soluciona sacando los avisos, sino escribiendo el codigo de la manera correcta [...]
y para ser reales, no cambió mucho... simplemente antes estabas acostumbrado a programar con los ojos vendados, o algo así....

el hecho de decir ya no se puede hacer eso:
Código PHP:
$foo $_POST['foo']; 
no tiene relevancia alguna, ya que es obvio...

piensa, si no envías el formulario antes... ¿porque habría de existir cierta variable??

ese es un error común, y es muy simple de resaltar...

la mejor manera de hacerlo es, usando isset (para mi, la forma correcta)
Código PHP:
$foo = isset($_POST['foo'])? $_POST['foo']: 'valor defecto en caso de que no exista la variable'
simple ¿no??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 08/05/2009, 08:33
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Cita:
Iniciado por pateketrueke Ver Mensaje
y para ser reales, no cambió mucho... simplemente antes estabas acostumbrado a programar con los ojos vendados, o algo así....

el hecho de decir ya no se puede hacer eso:
Código PHP:
$foo $_POST['foo']; 
no tiene relevancia alguna, ya que es obvio...

piensa, si no envías el formulario antes... ¿porque habría de existir cierta variable??

ese es un error común, y es muy simple de resaltar...

la mejor manera de hacerlo es, usando isset (para mi, la forma correcta)
Código PHP:
$foo = isset($_POST['foo'])? $_POST['foo']: 'valor defecto en caso de que no exista la variable'
simple ¿no??

No, creo q te equivocas en varios puntos.

Cuando dices q yo no envio el formulario, no es asi. Si miras el ejemplo q puse ni bien abri este thread (q es el ejemplo q me interesa tratar, ya q es muy simple y lamentablemente todavia nadie lo volvio a postear como cree q deberia ser), vas a ver q SI estoy enviando informacion a una pagina .php para q procese los datos ingresados.

Luego, como ya dije reiteradas veces, en la version de WAMP q usaba hasta hace unos 6 u 8 meses, JAMAS use "isset" en ese ejemplo q se ve ahi y sin embargo el script corria perfectamente.

Por lo tanto, si ahora de golpe tengo q usar "isset", algo cambio.

Otra cosa, este ejemplo esta sacado del tutorial "tizag" (para mi, uno de los mejores tutoriales q hay dando vueltas). Por lo tanto, si "tizag" no usa "isset", por algo sera.

Repito, ojala alguien repostee este mismo ejemplo cambiando o agregando en rojo lo q cree q esta mal o q falta, de acuerdo a los cambios q pudo haber habido en este tiempo.

Ahora, si me siguen poniendo: "usa esta linea con 'foo' " y todos esos ejemplos q no aportan, no sirve. Por que no sirve? porq yo agrego esas lineas al script y sigue sin funcionar. Lisa y llanamente por eso.

Agradezco su predisposicion para ayudar de todas formas
  #20 (permalink)  
Antiguo 08/05/2009, 08:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con "post" en PHP

mmm.... no me equivoco, para nada!

lo que sucede es que antes, tenias desactivado el mostrar errores... así de simple

el hecho de que corriera tu script era por eso, y creeme si tenias el log de errores activado... hubieras revisado el log, y verías que ahí estaban los errores que generaba tu ejemplo....

¿eso es ejecutarse correctamente??

tu dices: "Cuando presiono la tecla "enter", me sale el siguiente error..."

eso es ir directamente a la URL del script que procesa el formulario, osea... no estabas enviando el formulario, cierto? ¡¡por lo tanto $_POST esta vacío!!!

ahí se demuestra la bendita linea del "foo" que dices, no aporta nada (y ya con esto, funciona)
Código PHP:
<html><body>
<?php
$quantity 
= isset($_POST['quantity'])? $_POST['quantity']: 0;
$item = isset($_POST['item'])? $_POST['item']: 0;

echo 
"You ordered "$quantity " " $item ".<br />";
echo 
"Thank you for ordering from Tizag Art Supplies!";

?>
</body></html>
y por si no sabes siquiera, que es foo ... http://es.wikipedia.org/wiki/Foo

reto a que un verdadero gurú de PHP te diga: "El ejemplo de tizag esta mal, y aunque es valido para nada es 100% correcto"

¿¿o de veras estoy equivocado???

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #21 (permalink)  
Antiguo 08/05/2009, 09:10
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Primero q nada, muchas gracias por tu pronta respuesta.

Segundo, te note ofendido asi q te pido disculpas. Yo soy nuevo y tu sabes mucho mas, asi q no debi haber dicho q te equivocabas.

El punto es q quiero resolver esto q es tan simple y todavia no pude.

Te cuento:

Acabo de correr el script tal cual lo pusiste.

Cuando ingreso un dato (por ejemplo el numero 2) y luego elijo "paint" y le doy ok o presiono enter, me salta el resultado correcto:

You ordered 2 Paint
Thank you for ordering from Tizag Art Supplies!

AHORA, cuando presiono enter una vez mas, el resultado q me sale es:

You ordered 0 0
Thank you for ordering from Tizag Art Supplies!


O sea, evidentemente, al segundo "enter", vuelve al valor 0.

Como hacemos para q cuando presione "enter" por segunda o por enesima vez, me siga saliendo el mismo resultado. Porq convengamos q si subo la pagina a un servidor y un navegante presiona enter y le sale eso, no esta muy bien q digamos.


Gracias, espero tu respuesta.
  #22 (permalink)  
Antiguo 08/05/2009, 09:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con "post" en PHP

Eso es por el mismo proceso, las variables por POST solo se envian una vez al mismo script, tendrias que hacer un formulario en tu pagina de recepcion y usar campos ocultos para guardar los datos que envio, el usuario, asi por mas que presiones enter estos siempre van a estar en inputs ocultos y se continuaran enviando.

Saludos.
  #23 (permalink)  
Antiguo 08/05/2009, 12:43
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Bueno, la conclusion q saco de todo esto entonces es q los tutoriales no existen, son un desastre.

Voy a tener q arrancar de 0 nuevamente y buscar algun libro como la gente (si es q hay)...

La programacion es un pasatiempo para mi, pero me gusta hacer las cosas bien.

Igual sigo sin entender eso de apretar enter dos veces...

Es raro esto muchachos. Estoy buscando tutoriales en la red para poder hacer formularios correctamente y todos enseñan de la misma forma q Tizag.

W3Schools y PHPYA por ejemplo (no puedo poner el link, jeje).


Saben de un tutorial q explique la manera correcta de hacer formularios?

Última edición por GatorV; 09/05/2009 a las 13:25
  #24 (permalink)  
Antiguo 08/05/2009, 21:42
 
Fecha de Ingreso: marzo-2009
Mensajes: 69
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problemas con "post" en PHP

viejo .... tenemos el mismo codigo todos ... asi q debe ser un problema con tu wamp ... reinstala todo de nuevo .... esta medo raro eso ....
  #25 (permalink)  
Antiguo 08/05/2009, 22:09
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Si, ya probe reinstalando, pero sigue todo igual.

Estoy pensando en cambiar de pack si no...

Alguna sugerencia?
  #26 (permalink)  
Antiguo 08/05/2009, 23:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con "post" en PHP

¿¿y porque no lees en el manual oficial de PHP??

aunque esta parcialmente en español, es muy claro...

http://www.php.net/variables.external


--
OTRA sugerencia, no uses Windows.... usa Ubuntu, de preferencia...

o bien, no uses WAMP ... a mi siempre me fue perfecto EasyPHP
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #27 (permalink)  
Antiguo 09/05/2009, 09:08
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
mmm, la verdad q nunca me pareció nada claro el manual de php.net, si bien leo todo el tiempo q lo recomienda todo el mundo.

Quizás sea porq todavia soy muy nuevo en esto y necesito algo mas basico para algunas cosas.

Coincido contigo y se q Windows es el peor sistema operativo, pero lamentablemente es el q sigue usando el 90% y por muchas razones, estoy obligado a seguir usandolo igual q muchos otros (cuestiones laborales principalmente).

Con respecto al servidor, me va a cosar salir de Wamp ya q es el unico q he usado hasta ahora, pero bue, voy a probrar easyphp a ver qué onda.

Gracias por los consejos.

Bueno, acabo de probar el "easyphp" y qué creen?

Tengo los mismos problemas q con "Wamp".

Por lo tanto, evidentemente no es un problema de Wamp.

Ojala algun dia me entere de qué es lo q cambio en PHP en unos meses...

Última edición por GatorV; 09/05/2009 a las 13:26
  #28 (permalink)  
Antiguo 09/05/2009, 12:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con "post" en PHP

como te decía... lo único que ha cambiado, es tu instalación de PHP

o mejor dicho, tu configuración del php.ini (así como tu manera de programar de ese modo)

lee este tema, configura tu PHP y nos cuentas como te va...

http://www.forosdelweb.com/f18/forma...hp-ini-589310/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #29 (permalink)  
Antiguo 09/05/2009, 13:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con "post" en PHP

Siempre va a seguir "igual" hasta que a) cambies tu configuracion en el php.ini o b) programes correctamente el formulario (lee el link que te dejo pateketrueke de variables.external) no puedes "asumir", que las variables existen tienes siempre que verificar su existencia, es la forma correcta de trabajar.

Saludos.
  #30 (permalink)  
Antiguo 09/05/2009, 13:32
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con "post" en PHP

Gracias. Acabo de leer el thread y comprobé mi php.ini para asegurarme de que estuviera todo correcto. Y asi fue. Mi php.ini de Wamp viene de fabrica configurado exactamente como tu dices q tiene q estar.

Ahora bien, voy a recapitular para ver si me puedo hacer entender (quizas soy yo el q no se esta expresando bien).

Las dos cosas q no entiendo son las siguientes:

1) Todos los tutoriales (y no miento, tal vez el 95%) q estan en la web, dicen q para levantar datos de formulario alcanza con poner esto:

$variable = $_POST['variable'];

echo $variable;


Sin embargo, Apache (o PHP), responde a esto inmediatamente con un "undefined index notice".

Como se explica q el 95% de los tutoriales del mundo enseñen algo q da error????


Asi es como yo aprendi a hacerlo (es logico, si me lo enseñaron asi). Como vengo diciendo, nunca habia tenido problemas haciendolo asi. Repito q ningun tutorial usa el "isset" a la hora de recibir datos por POST.


2) Si uso "isset" como ustedes dicen, es cierto, los "notice" desaparecen, pero como vengo diciendo, cuando presiono "enter" nuevamente, en lugar de aparecer los "notice", desaparece la variable, en vez de quedarse la variable ahi, q seria lo mas logico y de hecho, es lo q me ocurria hasta hace un tiempo.


Estoy de acuerdo con ustedes en algo. Quiero programar con los "notice" activados y con las register_globals: off.

Pero si no logro solucionar ese problema del "enter", no me sirve de nada.

Espero q se haya entendido.
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:30.