Foros del Web » Programando para Internet » PHP »

Problema con select cogido de la wiki

Estas en el tema de Problema con select cogido de la wiki en el foro de PHP en Foros del Web. Hola, hoy me he propuesto hacer algo parecido a lo que ponen las FAQs de foros del web sobre los select. Así que he copiado ...
  #1 (permalink)  
Antiguo 28/07/2011, 03:07
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 4
Problema con select cogido de la wiki

Hola,

hoy me he propuesto hacer algo parecido a lo que ponen las FAQs de foros del web sobre los select. Así que he copiado el código (
Código PHP:
<?php
function paises($nombre_del_select){
    
$array_paises = array("Elige tu pais","Republica Dominicana","Afganistan","Africa del Sur","Albania","Alemania","Andorra","Angola","Antigua y Barbuda","Antillas Holandesas","Arabia Saudita","Argelia","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarusia","Belgica","Belice","Benin","Bermudas","Bolivia","Bosnia","Botswana","Brasil","Brunei Darussulam","Bulgaria","Burkina Faso","Burundi","Butan","Camboya","Camerun","Canada","Cape Verde","Chad","Chile","China","Chipre","Colombia","Comoros","Congo","Corea del Norte","Corea del Sur","Costa de Marfíl","Costa Rica","Croasia","Cuba","Dinamarca","Djibouti","Dominica","Ecuador","Egipto","El Salvador","Emiratos Arabes Unidos","Eritrea","Eslovenia","España","Estados Unidos","Estonia","Etiopia","Fiji","Filipinas","Finlandia","Francia","Gabon","Gambia","Georgia","Ghana","Granada","Grecia","Groenlandia","Guadalupe","Guam","Guatemala","Guayana Francesa","Guerney","Guinea","Guinea-Bissau","Guinea Equatorial","Guyana","Haiti","Holanda","Honduras","Hong Kong","Hungria","India","Indonesia","Irak","Iran","Irlanda","Islandia","Islas Caiman","Islas Faroe","Islas Malvinas","Islas Marshall","Islas Solomon","Islas Virgenes Britanicas","Islas Virgenes (U.S.)","Israel","Italia","Jamaica","Japon","Jersey","Jordania","Kazakhstan","Kenia","Kiribati","Kuwait","Kyrgyzstan","Laos","Latvia","Lesotho","Libano","Liberia","Libia","Liechtenstein","Lituania","Luxemburgo","Macao","Macedonia","Madagascar","Malasia","Malawi","Maldivas","Mali","Malta","Marruecos","Martinica","Mauricio","Mauritania","Mexico","Micronesia","Moldova","Monaco","Mongolia","Mozambique","Myanmar (Burma)","Namibia","Nepal","Nicaragua","Niger","Nigeria","Noruega","Nueva Caledonia","Nueva Zealandia","Oman","Pakistan","Palestina","Panama","Papua Nueva Guinea","Paraguay","Peru","Polinesia Francesa","Polonia","Portugal","Puerto Rico","Qatar","Reino Unido","Republica Centroafricana","Republica Checa","Republica Democratica del Congo","Republica Eslovaca","Reunion","Ruanda","Rumania","Rusia","Sahara","Samoa","San Cristobal-Nevis (St. Kitts)","San Marino","San Vincente y las Granadinas","Santa Helena","Santa Lucia","Santa Sede (Vaticano)","Sao Tome & Principe","Senegal","Seychelles","Sierra Leona","Singapur","Siria","Somalia","Sri Lanka (Ceilan)","Sudan","Suecia","Suiza","Sur Africa","Surinam","Swaziland","Tailandia","Taiwan","Tajikistan","Tanzania","Timor Oriental","Togo","Tokelau","Tonga","Trinidad & Tobago","Tunisia","Turkmenistan","Turquia","Ucrania","Uganda","Union Europea","Uruguay","Uzbekistan","Vanuatu","Venezuela","Vietnam","Yemen","Yugoslavia","Zambia","Zimbabwe");
    
$cantidad_paises count($array_paises);
    echo 
'<select name="'.$nombre_del_select.'" id="'.$nombre_del_select.'">';
    for(
$i 0$i<$cantidad_paises$i++){
        
$array_paises_i $array_paises[$i];
        echo 
'<option value="'.$array_paises_i.'"'
            if(
$_POST["$nombre_del_select"]=="$array_paises_i"){
                    echo 
"selected";
            }
        echo 
'>'.$array_paises_i.'</option>';
    }
    echo 
'</select>';
}
//como llamar la function?
paises("select_paises");
?>
)

y cuando le doy a ver en el navegador me dice:
Código:
Notice: undefined index: select_paises in C:\[...]\prueba.php on line 9 > (Aquí pone el nombre del país que tiene que salir.
¿Sabéis por qué?

Un saludo.
  #2 (permalink)  
Antiguo 28/07/2011, 03:18
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Problema con select cogido de la wiki

Buenas, creo que te sucederá la primera vez que entres al formulario, ya que no se compruba si $_POST está relleno o no. En estas líneas:
Código PHP:
            if($_POST["$nombre_del_select"]=="$array_paises_i"){
                    echo 
"selected";
            } 
Habría que añadir un isset:
Código PHP:
            if (isset($_POST["$nombre_del_select"])) {
               if(
$_POST["$nombre_del_select"]=="$array_paises_i"){
                       echo 
"selected";
               }
            } 
Espero te sirva, un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 28/07/2011, 03:23
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Problema con select cogido de la wiki

Muchísimas gracias, es lo que yo pensaba, pero no sabía muy bien cómo ponerlo.

Gracias.
  #4 (permalink)  
Antiguo 28/07/2011, 04:10
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Problema con select cogido de la wiki

Dobleposteo que tengo una duda sobre este tema:
¿Cómo hago para que al darle a la opción que yo escoja y darle al botón del formulario me salga algún mensaje?

gracias.
  #5 (permalink)  
Antiguo 28/07/2011, 04:34
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Problema con select cogido de la wiki

No entiendo lo que quieres hacer exactamente.

A qué te refieres con que me salga un mensaje? Un mensaje dónde? En la página siguiente? En la misma página? Explícate un poco mejor.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #6 (permalink)  
Antiguo 28/07/2011, 04:56
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Problema con select cogido de la wiki

En la misma página, con un "echo "
  #7 (permalink)  
Antiguo 28/07/2011, 05:01
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Problema con select cogido de la wiki

Eso ya es tema de tratamiento de formularios.

En la cabecera del form tendrás que tener algo como lo siguiente:
<form name="formulario" action="pagina.php" method="post">
...
</form>

Esto significa que una vez des a submit, se enviará a la página pagina.php con la información a través de método post. En esta página tendrás que usar $_POST para rescatar los valores. Si lo quieres en la misma página que el form, lo único que tienes que hacer es poner en action la misma página que el form. Échale un ojo a un manual, porque esto es bastante básico.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #8 (permalink)  
Antiguo 28/07/2011, 05:14
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Problema con select cogido de la wiki

Eso ya lo sabía, pero gracias de todas formas. Aunque yo quiero que el mensaje dependa de la opción elegida en el combobox, que creo que sería con un if, lo que no sé es ponerle la condición al if, es decir:
if (){
echo "Estás en España";
}

Lo de ponerle al lado al if no lo sé.
  #9 (permalink)  
Antiguo 28/07/2011, 05:24
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Problema con select cogido de la wiki

El for que tienes en el código inicial de este post te va a crear un select del tipo:
Código HTML:
<select name="select_paises" id="select_paises">
   <option value="Elige tu pais">Elige tu pais</option>
   <option value="Republica Dominicana">Republica Dominicana</option>
   <option value="Afganistan">Afganistan</option>
   <option value="Africa del Sur">Africa del Sur</option>
   ...
</select> 
Y esto se va a enviar en el momento de darle a submit por post, luego lo podrás rescatar desde el php donde trates el formulario con $_POST['select_paises'], que contendrá el value de la opción que haya marcado el usuario.

Lo que tú quieres hacer es:
Código PHP:
if (isset($_POST['select_paises'])) {
   echo 
"Estás en " $_POST['select_paises'];

Pero te repito, échale un ojo a un manual, porque esto es tratamiento de formularios y es bastante simple y básico. Si te atascas aquí es que no has mirado manuales.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Última edición por vgonga1986; 28/07/2011 a las 05:26 Razón: Corrección código

Etiquetas: cogido, select, wiki
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:21.