Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/04/2007, 20:56
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Recoger datos de un FORM

Si necesitas personalizar para más de dos claves, lo mejor es usar la funcion switch(), asi te evitas de estar llenandote de if...else...'s. En tu codigo, esta funcion quedaría así:
Código PHP:
<?
//CLAVE 1: "XXXXX"
//CLAVE 2: "ZZZZZZZ"
 
switch($_POST["clave"]) {
case 
"XXXXX": echo "esta es la clave 1"; break;
case 
"ZZZZZ": echo "esta es la clave 2"; break;
default: echo 
"error, la clave es desconocida"; break;
}
 
?>
Además, te recomiendo leerte el manual de PHP en lo que refiere a las contantes. Si llamas a algun elemento de un array (como $_POST) de esta forma: $_POST[clave], en realidad estas llamando a un elemento que tenga como key el valor la constante clave, si no esta definda, el script funciona, aunque no es lo correcto. Debes usar siempre comillas cuando lo que estas escribiendo deba ser interpretado tal y como lo escribes. Te pongo un ejemplo:

Código PHP:
<?php
//Creas un array
$array = array(
"primero"=>"Este es el contenido del primer elemento"
);
 
//Imprime el elemento
echo '<br />Esto es sin comillas: '.$array[primero]."\n";
echo 
'<br />Esto es con comillas: '.$array["primero"]."\n";
 
echo 
"<br />Esto se ha impreso bien, ya que la constante primero no es definida, y el 
servidor interpreta primero como si fuera \"primero\"<br /><br />"
;
 
echo 
"<br />Ahora veamos lo que pasa al definir la constante primero<br /><br />";
define('primero','Valor');
 
//E imprimamos de la misma manera que la primera vez:
echo '<br />Esto es sin comillas: '.$array[primero]."\n";
echo 
'<br />Esto es con comillas: '.$array["primero"]."\n";
 
echo 
'<br />Nota que ahora el uso de $array[primero] no imprime ningun resultado, ya que 
es como que en realidad estuvieras llamando a $array["Valor"], que no esta definido...<br 
/><br />'
;
 
?>
</STRONG>

Un saludo,