PHP - error al pasar datos de formulario

   
Vista:

error al pasar datos de formulario

Publicado por Carlos (1 intervención) el 11/02/2013 00:36:39
Buenas tardes a todos:

Me solicitan crear dos constantes con el nombre de 2 capitales del mundo respectivamente. En un formulario se me solicita que el usuario registre mediante "radio-button" el pais al cual pertenece. Al final el resultado me debe aparecer lo siguiente: hola [] eres del pais [] cuya capital es []. he realizado lo siguiente pero me arroja errores y no entiendo por que:

En el archivo HTML he hecho lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
<form name="form" method="post" action="tareapuntotres.php">
 
 <h1>Ingreso de datos</h1>
 Nombre completo <input type="text" name="nom"/>
 <br/>
 Pais de procedencia:
 <br/>
 Alemania<input type="radio" name="pais" value="Alemania" checked="checked" />
 Francia<input type="radio" name="pais" value="Francia"/>
 <hr/>
 
<input type="button" value="Enviar" title="enviar" onclick="document.form.submit();"/>
</form>


y en el archivo que recibe lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
   define("alemania", "berlin");
   define("francia", "paris");
 
  if (isset($_POST["pais"])==Alemania){
 
     echo "hola ".$_POST["nom"]." tu eres del pais".$_POST["pais"]." cuya capital es ".alemania;
  }
 
  if (isset($_POST["pais"])==Francia){
 
     echo "hola ".$_POST["nom"]." tu eres del pais".$_POST["pais"]." cuya capital es ".paris;
  }
 
 ?>


Agradezco la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

error al pasar datos de formulario

Publicado por Alexis Ochoa (92 intervenciones) el 11/02/2013 00:46:29
El problema está en el uso de las constantes. Recuerda que PHP es sensible a mayúsculas y minúsculas, por lo tanto si haces

1
define("alemania", "berlin");


En todo el script, la constante será
1
alemania
y no
1
Alemania
.

Específicamente, tienes el warning en las líneas con los if, ya que allí es donde haces mal uso de estas constantes.

Ahora, si lo que quieres es comparar el valor de lo que recibes por el array $_POST con una cadena en específco, entonces debes hacer uso de las comillas, ya que estás comparando dos cadenas

1
if (isset($_POST["pais"])=="Alemania"){


1
if (isset($_POST["pais"])=="Francia"){


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar