Siempre me he preguntado como pasar muchas variables sin tener que declarar cada una al momento de recibirla en php me refiero a algo como esto:
si tenemos un formulario asi
Esto quiere decir que en mi formulario recibir.php tendria ke ir algo asi :
Ke es lo ke hace esto bueno tiene un formulario de nombre y apellido y se van agregando asincronamente mas cajas de texto para mas nombres y apellidos y luego se guardan todos sin tener ke declarar cada variable que se va agregando ya que se esta creando un array de los controles text
al parecer fácil pero muy util :D
si tenemos un formulario asi
1 <form method="post" action="recibir.php">
2 <input name="nombre" type="text" id="nombre" />
3 <input type="submit" name="button" id="button" value="Enviar" />
4 </form>
Esto quiere decir que en mi formulario recibir.php tendria ke ir algo asi :
1 <?php 2 $variable=$_POST['nombre'];
3
4 ?> pero el detalle es y si uso dhtml y quiero pasar "X" variables como lo hagooo????
bueno entonces me toco una clase xD con ese ejercicio y hice algo asi =D usando Dhtmleste es prueba.php:1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <script language="javascript" src="crea.js" type="text/javascript"></script>
6 <title>Untitled Document</title>
7 <style type="text/css">
8 <!--
9 #apDiv1 {
10 position:absolute;
11 left:176px;
12 top:54px;
13 width:137px;
14 height:18px;
15 z-index:1;
16 }
17 #apDiv2 {
18 position:absolute;
19 left:23px;
20 top:53px;
21 width:136px;
22 height:20px;
23 z-index:2;
24 }
25 #moreUploads {
26 position:absolute;
27 left:24px;
28 top:124px;
29 width:386px;
30 height:27px;
31 z-index:3;
32 }
33 -->
34 </style>
35 </head>
36
37 <body>
38 <div id="apDiv1">APELLIDOS</div>
39 <div id="apDiv2">NOMBRES</div>
40 <p> </p>
41 <p>
42 <form method="post" action="grabar.php">
43 <fieldset id="fs"> <p>
44 <input name="nombre[0]" type="text" id="nombre[0]" />
45 <input name="apellido[0]" type="text" id="apellido[0]"/>
46 <input type="button" name="button" id="button" value="Crear otra fila" onclick="addFileInput()"/>
47 <!-- <input type="hidden" id="kn" name="kn"/> -->
48 </p>
49 </fieldset>
50 <p>
51 </label>
52 <label>
53 <input type="submit" name="button2" id="button2" value="Enviar" />
54 </label>
55 </p>
56
57 </form>
58
59
60 </body>
61 </html> Este es mi archivo crear.js :1
var cuenta=0;
2 function addFileInput() {
3 cuenta++;
4 var d = document.createElement("div");
5 var nombre=document.createElement("input");
6 nombre.type='text';
7 nombre.name='nombre['+ cuenta +']';
8 nombre.id='nombre['+ cuenta +']';
9 d.appendChild(nombre);
10 var tapellido = document.createElement("input");
11 tapellido.type='text';
12 tapellido.name='apellido['+ cuenta +']';
13 tapellido.id='apellido['+ cuenta +']';
14 d.appendChild(tapellido);
15 document.getElementById('fs').appendChild(d);
16 document.getElementById('fs').appendChild(document.createElement('br'));
17
18 } y por ultimo el grabar.php 1 <?php
2 mysql_connect("localhost","root");
3 mysql_select_db("dhtml_pruebal");
4 foreach($_POST['nombre'] as $indice =>$valor){
5 mysql_query("insert into usuarios values('','$valor','".$_POST['apellido'][$indice] . "')");
6 }
7 ?>
Ke es lo ke hace esto bueno tiene un formulario de nombre y apellido y se van agregando asincronamente mas cajas de texto para mas nombres y apellidos y luego se guardan todos sin tener ke declarar cada variable que se va agregando ya que se esta creando un array de los controles text
al parecer fácil pero muy util :D