Foros del Web » Programando para Internet » PHP »

Manejar input como arreglo para poder enviar y guardar varios datos

Estas en el tema de Manejar input como arreglo para poder enviar y guardar varios datos en el foro de PHP en Foros del Web. Tengo el siguiente código de PHP: agenda.php: Código PHP: < html >     < head >         < meta charset = "UTF-8" >         < title ></ title > ...
  #1 (permalink)  
Antiguo 05/12/2014, 11:42
 
Fecha de Ingreso: noviembre-2014
Mensajes: 27
Antigüedad: 10 años
Puntos: 0
Manejar input como arreglo para poder enviar y guardar varios datos

Tengo el siguiente código de PHP:

agenda.php:
Código PHP:
<html>
    <
head>
        <
meta charset="UTF-8">
        <
title></title>
    </
head>
    <
body>
        <
h1>Agenda de Amigos</h1>
        <
form action="gestion.php" method="post">
            
A cuantos amigos quieres poner su telefono
            
<select name="amigos">
                <
option>1</option>
                <
option>2</option>
                <
option>3</option>
                <
option>4</option>
                <
option>5</option>
            </
select>
            <
button>Aceptar</button>
        </
form>
    </
body>
</
html
gestion.php
Código PHP:
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        
if(isset($_REQUEST['amigos'])){
            
$amigos=$_REQUEST['amigos'];
        }
        else{
            
$amigos="";
        }
        
?>
        <h1>Telefonos</h1>
        <form action="telefonos.php" method="get">
            <?php
            
for($i=0;$i<$amigos;$i++){ ?>
                <table>
                    <tbody>
                        <tr>
                            <td>Nombre<br>
                                <input name="NOM_AMIGO[]" type="text"></td>
                            <td>Edad<br>
                                <input name="ED_AMIGO[]" type="number"></td>
                            <td>Telefono<br>
                                <input name="TEL_AMIGO[]" type="text" size="9"></td>
                            <td>Direccion<br>
                                <input name="DIR_AMIGO[]" type="text"></td>
                        </tr>
                    </tbody>
                </table>
            <?php }
            
?>
            <button>Continuar</button>
        </form>
    </body>
</html>
telefonos.php
Código PHP:
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        print_r
($_GET);
        
?>
    </body>
</html>
El caso es que en telefonos.php si introduzco mas de una persona me imprime lo siguiente:

Array ( [NOM_AMIGO] => Array ( [0] => pepe [1] => maria ) [ED_AMIGO] => Array ( [0] => 20 [1] => 22 ) [TEL_AMIGO] => Array ( [0] => 695274152 [1] => 633252101 ) [DIR_AMIGO] => Array ( [0] => c/ la fuente [1] => c/ mayor ) )

como puedo hacer para que me imprima solo los datos que se introducen en los input y no me aparezca ni array ni [] y también como puedo hacer que solo me aparezca unos datos en concreto como el nombre y la dirección.
  #2 (permalink)  
Antiguo 05/12/2014, 11:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Manejar input como arreglo para poder enviar y guardar varios datos

Por favor, lee el manual acerca de print_r(), pues dicho formato no lo puedes cambiar.

Si deseas imprimir los datos en otro formato debes hacer un foreach() e ir imprimiendo lo que desees.

Además debes entender como se organiza dicha estructura de arrays, lee lo siguiente: http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: arreglo, html, input, manejar, poder, select
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:34.