Foros del Web » Programando para Internet » PHP »

Problemas con formulario

Estas en el tema de Problemas con formulario en el foro de PHP en Foros del Web. Que tal, sigo con las preguntas (ya hice una pregunta que me la respondieron en el dia MUCHAS GRACIAS) Ahora esta es mi pregunta Estoy ...
  #1 (permalink)  
Antiguo 10/07/2004, 01:54
 
Fecha de Ingreso: marzo-2003
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Problemas con formulario

Que tal, sigo con las preguntas (ya hice una pregunta que me la respondieron en el dia MUCHAS GRACIAS)
Ahora esta es mi pregunta
Estoy aprendiendo PHP desde un libro que me dice que use el siguiente codigo para pasar informacion de una pagina con un formulario a una pagina con PHP que contenga variables con los datos del formulario. Pero hago exactamente lo que me pide que haga y las variables no pasan de una pagina a otra
Aca les va el codigo que uso para la pagina de formulario
<form method="POST" action="paso.php">
Nombre:<input type="text" name="nombre" value="diego"><br>
Apellido:<input type="text" name="apellido"><br>
Comentario:<textarea name="comentario" rows=5 colls=40> </textarea><br>
<center><input type="submit" value="IR"></center>
</form>

Y este es el codigo que uso para la pagina que recibe cuyo nombre es paso.php y imprime las variables
<?
echo "hola $nombre $apellido<br>";
echo "opinas esto: $comentario";
?>

Me gustaria saber en que me equivoco gracias

Última edición por dmalcha; 10/07/2004 a las 02:00
  #2 (permalink)  
Antiguo 10/07/2004, 02:10
Avatar de jordia  
Fecha de Ingreso: septiembre-2003
Ubicación: Cali
Mensajes: 77
Antigüedad: 14 años, 2 meses
Puntos: 0
Sonrisa Ya mirates el Php.ini?

Hola dmalcha

Mira en el php.ini que esta en el directorio de windows, el siguiente argumento register_globals debe estar en On.

si no lo esta modificalo y reinicia el servidor apache, y eso es todo.

Modificalo, corres las paginas y despues me contas...

  #3 (permalink)  
Antiguo 10/07/2004, 04:41
 
Fecha de Ingreso: julio-2004
Mensajes: 5
Antigüedad: 13 años, 5 meses
Puntos: 0
Yo te recomendaria que te acostumbrases a usar las variables $_POST y $_GET , por motivos de seguridad y porque creo que en PHP 5 se va a tener que hacer así obligatoriamente.
mirate
http://php.bgta.net/index.php?id=8&b...8&tx_faq_faq=1
  #4 (permalink)  
Antiguo 10/07/2004, 05:32
Avatar de xavivars  
Fecha de Ingreso: enero-2002
Ubicación: Benissa - la Marina Alta
Mensajes: 212
Antigüedad: 15 años, 11 meses
Puntos: 1
Si, yo tambien te recomiendo usar los arrays superglobales $_POST y $_GET para acceder a tus variables de formulario. En tu caso, seria:

Código PHP:
<?
echo 'hola '.$_POST['nombre'].$_POST['apellido'].'<br>';
echo 
'opinas esto: '.$_POST['comentario'];
?>
  #5 (permalink)  
Antiguo 10/07/2004, 10:45
 
Fecha de Ingreso: julio-2004
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Hola Diego:
prueba el siguiente codigo


<html>
<body>
<form metod="POST" action="gus.php">
<tr>
<td>
Nombre:<input type="text" name="nombre" value="DIANA">
<td>
Apellido:<input type="text" name="apellido" value="ZUNIGA"><br>
Comentario:<textarea name="comentario" rows=5 colls=40> </textarea><br>
<center><input type="submit" value="IR"></center>
</form>
</body>
</html>
  #6 (permalink)  
Antiguo 10/07/2004, 11:37
 
Fecha de Ingreso: julio-2004
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Hola Diego:
prueba el siguiente codigo

el nombre de este formulario es paso.html

<html>
<body>
<form metod="POST" action="paso.php">
<table width='400' border=1 align='center'>

<tr><!--primera filA -->
<td><!-- Primera columna -->

Nombre:
</td>

<td>

<input type="text" name="nombre" value="DIANA">
<td>

</tr><!--fin de la fila 1-->

<tr><!--fila2-->
<td><!--columna1-->
Apellido:
</td>
<td>

<input type="text" name="apellido" value="ZUNIGA">
</td>
</tr>
<tr>
<td>
Comentario:

</td>
<td>
<textarea name="comentario" rows=5 colls=40></textarea><br>
</td>
</tr>
<tr align='center'>
<td colspan=3 >
<input type="submit" name='enviar' value="Enviar">
</td>
</tr>
</table>
</form>
</body>
</html>

Primero Diego
te falta indicar en el formulario <html> esto indica que este es un formulario html

segundo

te falta el <body> que indica que alli comienza el cuerpo del html

tercero
los <table>, <tr> y <td> son para tener un poquito mas de orden "<table> esto significa que dentro de esta tabla iran filas y columnas los <tr> representan filas, con el <tr></tr> no necesitas <br> y el td es para las columnas el border=1 que esta en el
<table> espara el bordecito de la tabla".
cuarto

<?
echo "hola $nombre $apellido<br>";
echo "opinas esto: $comentario";
?>

este pedaso de codigo se llama paso.php aqui llegaran los valores indicados en el html


y por ultimo cuando estes en el navegador llama al formulario paso.html

chao

me cuentas que paso
att: Gustavo Dorado Arias

[email protected]com
  #7 (permalink)  
Antiguo 10/07/2004, 11:39
 
Fecha de Ingreso: julio-2004
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta a enviar registros desde un formulario HTML

Hola Diego:
prueba el siguiente codigo

el nombre de este formulario es paso.html

<html>
<body>
<form metod="POST" action="paso.php">
<table width='400' border=1 align='center'>

<tr><!--primera filA -->
<td><!-- Primera columna -->

Nombre:
</td>

<td>

<input type="text" name="nombre" value="DIANA">
<td>

</tr><!--fin de la fila 1-->

<tr><!--fila2-->
<td><!--columna1-->
Apellido:
</td>
<td>

<input type="text" name="apellido" value="ZUNIGA">
</td>
</tr>
<tr>
<td>
Comentario:

</td>
<td>
<textarea name="comentario" rows=5 colls=40></textarea><br>
</td>
</tr>
<tr align='center'>
<td colspan=3 >
<input type="submit" name='enviar' value="Enviar">
</td>
</tr>
</table>
</form>
</body>
</html>

Primero Diego
te falta indicar en el formulario <html> esto indica que este es un formulario html

segundo

te falta el <body> que indica que alli comienza el cuerpo del html

tercero
los <table>, <tr> y <td> son para tener un poquito mas de orden "<table> esto significa que dentro de esta tabla iran filas y columnas los <tr> representan filas, con el <tr></tr> no necesitas <br> y el td es para las columnas el border=1 que esta en el
<table> espara el bordecito de la tabla".
cuarto

<?
echo "hola $nombre $apellido<br>";
echo "opinas esto: $comentario";
?>

este pedaso de codigo se llama paso.php aqui llegaran los valores indicados en el html


y por ultimo cuando estes en el navegador llama al formulario paso.html

chao

me cuentas que paso
att: Gustavo Dorado Arias

[email protected]
  #8 (permalink)  
Antiguo 10/07/2004, 11:45
Avatar de xavivars  
Fecha de Ingreso: enero-2002
Ubicación: Benissa - la Marina Alta
Mensajes: 212
Antigüedad: 15 años, 11 meses
Puntos: 1
Si el register_globals esta a off o a false (no recuerdo el valor) ese codigo no va a funcionar. Usa $_POST['nombre']..... en lugar de $nombre....
  #9 (permalink)  
Antiguo 10/07/2004, 13:07
Avatar de pedro_php  
Fecha de Ingreso: marzo-2004
Ubicación: PC de mi casa o PC de la oficina
Mensajes: 97
Antigüedad: 13 años, 8 meses
Puntos: 0
Igual te recomiendo usar $_POST['variable']. Siempre que lo imprimes entre "comillas dobles", debes envolverlo entre {llaves}.
__________________
Es más importante estar de acuerdo que tener la razón.
MI NUEVO WEBLOG
  #10 (permalink)  
Antiguo 10/07/2004, 17:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por jordia
Hola dmalcha

Mira en el php.ini que esta en el directorio de windows, el siguiente argumento register_globals debe estar en On.

si no lo esta modificalo y reinicia el servidor apache, y eso es todo.

Modificalo, corres las paginas y despues me contas...

Por favor .. NO RECOMIENDES ESO!!!!!! sobre register_globals a ON ... o por lo menos explica que pasaría si lo usas así o no ..

Un saludo,
  #11 (permalink)  
Antiguo 11/07/2004, 14:22
 
Fecha de Ingreso: marzo-2003
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Porque que hace cambiar el valor de register_globals a ON

Cita:
Iniciado por Cluster
Por favor .. NO RECOMIENDES ESO!!!!!! sobre register_globals a ON ... o por lo menos explica que pasaría si lo usas así o no ..

Un saludo,
Hice lo que me recomendo jordia y me andubo no probe con la variable $_post("variable), porque todabia no llegue al capitulo del libro donde explican eso. Por eso me gustaria saber cuales son los contra de poner en el php.ini register_globals a ON
Muchas gracias
  #12 (permalink)  
Antiguo 11/07/2004, 21:02
Avatar de jordia  
Fecha de Ingreso: septiembre-2003
Ubicación: Cali
Mensajes: 77
Antigüedad: 14 años, 2 meses
Puntos: 0
hola dmalcha

Primero que todo tenes la razon cluster ya que cuando utilizas register_global = on, envenas tus script.
como lo dice en el manual sobre este tema "Cuando está habilitada, las personas usan variables sin saber con seguridad de dónde provienen y solo queda asumir. Las variables internas que son definidas en el script mismo son mezcladas con los datos enviados por los usuarios y al deshabilitar register_globals se modifica este comportamiento. ".

Entonces te aconsejo que utilizes $_Get o $_POST, en ves de utilizar solo el nombre de la variable sola.

Si lo sigues utilizando asi mucha gente podra falsear tus variables osea cambiarlas y eso si es un tremendo error de seguridad e integridad de tu script

Visita este link http://www.php.net/manual/es/security.globals.php y te daras cuenta
  #13 (permalink)  
Antiguo 11/07/2004, 23:02
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
Cita:
Iniciado por jordia
ya que cuando utilizas register_global = on, envenas tus script.
Creo que sería conveniente hacer una pequeña aclaración. El hecho de tener register.... habilitado, no implica que el script sea inseguro si tu programas asumiendo que no. Tal vez es una observación trivial, pero puede ayudarte a entender que depende en buena medida de tus costumbres de programación el hacer tus scripts seguros. Por ejemplo, yo puedo tener register_globals en on, y a pesar de eso seguir recibiendo mis variables con los arreglos superglobales $_POST, $_GET, $_REQUEST etc y no por ello mis scripts son inseguros... menos si aparte me acuerdo de inicializar mis variables con un tipo de dato. Aunque php puede cambiar de tipo de dato sin necesidad de indicarlo explicitamente, es bueno que si vas a usar una varible como arreglo, no la uses como arreglo en una linea, y como entero en otra. Inicializa $arreglo = array(); etc. etc. Si vas a cambiar de string a entero, en general si vas a cambiar de tipo de dato, utiliza casts. Por ejemplo si tengo una cadena y quiero que sea considerada entero. (int) $cadena

etc etc etc... un saludo
  #14 (permalink)  
Antiguo 12/07/2004, 21:01
 
Fecha de Ingreso: marzo-2003
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Muchas Gracias

Muchas gracias a todos por ayudarme con la duda. Prometo seguir leyendo php y quizas pronto pueda ayudarles con alguna pregunta de ustedes
Malcha
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 17:11.