Foros del Web » Programando para Internet » PHP »

Como paso las variables????

Estas en el tema de Como paso las variables???? en el foro de PHP en Foros del Web. Hola, tengo un problema que seguramente alguien de ustedes me podrá solucionar… Estoy haciendo un formulario de inscripción (Esta mas abajo), en el cual el ...
  #1 (permalink)  
Antiguo 07/10/2004, 11:47
Avatar de claudioif  
Fecha de Ingreso: julio-2004
Mensajes: 19
Antigüedad: 19 años, 9 meses
Puntos: 0
Como paso las variables????

Hola, tengo un problema que seguramente alguien de ustedes me podrá solucionar…

Estoy haciendo un formulario de inscripción (Esta mas abajo), en el cual el usuario debe ingresar una fecha mediante un “List” y un nombre mediante una “caja de texto” el cual se agrega a una lista que ordeno cronologicamente. Al mismo tiempo el usuario si se eqivoca puede quitar el item seleccionado de la lista. Para eso pense que seria conveniente separar en dos paginas: una que imprime el formulario en blanco y otra que procese las variables y las cargue a la lista agregandole a las ya existente. El problema es que no se como pasarles las variables. Agradeceria cualquier ayuda… sobre todo de cómo quitar los valores de la lista por que no tengo ni idea. Gracias…Como Siempre

Aca van los codigos:

Form Principal:

Código PHP:
<?
   
require ("funciones.php"// Tiene las funciones para llenar listas "Dias/Años"
?>
 <form name="form1" method="post" action= "festivales.php" >
        <table width="669" border="0" align="center" cellpadding="0" cellspacing="10">
        <tr>
              <td height="20" colspan="2" align="left" bgcolor="#333333"><div align="right" class="Estilo4 Estilo5">
                <div align="left"><strong>&nbsp;Festivales y Eventos:&nbsp;</strong></div>
               </div> <div align="left" class="Estilo5"> <label> </label> </div>
            </td>
        </tr>
        <tr>
              <td colspan="2">Fecha:&nbsp;<span class="Estilo12">
                <select name="fecha_festivales" size="1" class="Estilo4" id="select"> <? echo llenaraños(); ?> </select>
                  </span>
            </td>
        </tr>
        <tr>
            <td colspan="2"><div align="left">Nombre del Festival:<span class="Estilo2">
                  <input name="nombre_festivales" type="text" class="Estilo4" id="nombre_festivales" size="30">
                  <input name="agregar_festivales_BT" type="submit" class="Estilo10" id="agregar_festivales_BT" value="Agregar">
                 </span></div></td>
           </tr>
        <tr>
             <td><span class="Estilo2">
                 <select name="select" size="6">
                   <option value="0">No hay datos ingresados</option>
                 </select>
                 </span>          </td>
             <td width="456" align="left" valign="bottom"><span class="Estilo2">
                     <input name="quitar_festivales_BT" type="submit" class="Estilo10" id="quitar_festivales_BT" value="Quitar">
                   </span>
            </td>
        </tr>
          </table>
      </form>
Pagina de Proceso:"festivales.php"
Código PHP:
<?
require ("funciones.php")    
      
$festivales[]=$fecha_festivales " - " $nombre_festivales;
      
?>
        <form name="form1" method="post" action="festivales.php">
          <table width="669" border="0" align="center" cellpadding="0" cellspacing="10">
          <tr>
              <td height="20" colspan="2" align="left" bgcolor="#333333"><div align="right" class="Estilo4 Estilo5">
                <div align="left"><strong>&nbsp;Festivales y Eventos:&nbsp;</strong></div></div>
                <div align="left" class="Estilo5"> <label> </label> </div>
            </td>
           </tr>
          <tr>
              <td colspan="2">Fecha:&nbsp;<span class="Estilo12">
                <select name="fecha_festivales" size="1" class="Estilo4" id="select"> <? echo llenaraños(); ?> </select> </span>
            </td>
          </tr>
          <tr>
            <td colspan="2"><div align="left">Nombre del Festival:<span class="Estilo2">
                 <input name="nombre_festivales" type="text" class="Estilo4" id="nombre_festivales" size="30">
                 <input name="agregar_festivales_BT" type="submit" class="Estilo10" id="agregar_festivales_BT" value="Agregar"> </span></div>
            </td>
             </tr>
          <tr>
              <td><span class="Estilo2">
                     <select name="listass" size="5" class="Estilo4" id="select">
                   <? rsort ($festivales);
                      
$nroarraycount($festivales);
                      for (
$i=0$i $nroarray$i++) 
                          {
?>
                           <option value=" <? echo $i?>"> <? echo $festivales[$i]; ?> </option>
                       <? ?>
                           </select> </span>
            </td>
             <td width="456" align="left" valign="bottom"><span class="Estilo2">
                  <input name="quitar_festivales_BT" type="submit" class="Estilo10" id="quitar_festivales_BT" value="Quitar"></span>
            </td>
           </tr>
           </table>
        </form>
funciones.php (La cree para no repetir codigos)
Código PHP:
<?
function llenardias()
//Esta Función llena una lista con los 31 días del mes
{
    for (
$i=1$i<=31$i++)
      {
?>
         <option value="<? echo $i?>"><? echo $i?></option></option>
      <? 
      
}
    
}

function 
llenarmeses() 
//Esta Función llena una lista con los 12 meses del año
{
    
$meses[1]="Enero";
    
$meses[2]="Febrero";
    
$meses[3]="Marzo";
    
$meses[4]="Abril";
    
$meses[5]="Mayo";
    
$meses[6]="Junio";
    
$meses[7]="Julio";
    
$meses[8]="Agosto";
    
$meses[9]="Septiembre";
    
$meses[10]="Octubre";
    
$meses[11]="Noviembre";
    
$meses[12]="Diciembre";
          
    for (
$i=1$i<=12$i++)
      {
       
?>
         <option value="<? echo $meses[$i]; ?>"><? echo $meses[$i]; ?></option></option>
       <? 
      
}
}
function 
llenaraños() 
//Esta Función llena una lista con un rango especifico de años
{
    
$añoinicial=1970;
    
$añofinal=(date("Y")); // Asigna el año actual
    
    
for ($i=$añofinal$i>=$añoinicial$i--)
      {
       
?>
         <option value="<? echo $i?>"><? echo $i?></option></option>
       <? 
      
}
}

?>
__________________
-=|Claudio!F|=-
  #2 (permalink)  
Antiguo 07/10/2004, 14:13
 
Fecha de Ingreso: septiembre-2004
Ubicación: Puebla, México
Mensajes: 81
Antigüedad: 19 años, 6 meses
Puntos: 0
Lo de agregar y quitar lo que este en el campo se puede hacer en una pagina con javascript dinamicamente. Pon en tu <head>:
Código HTML:
<script type='text/javascript' language='Javascript'>
function agregar(){ //Para agregar a la lista lo que esta en el campo nombre_festivales
		if( document.forms[0].nombre_festivales.value != '' ){
			var no = new Option();
                        var lista = document.getElementById('select'); //Cambia select si le vas a poner otro nombre a la lista
			no.value = document.forms[0].nombre_festivales.value; //O el valor que tu quieras
			no.text = document.forms[0].nombre_festivales.value;
			lista.options[lista.options.length] = no;
			document.forms[0].nombre_festivales.value = ''; //Pone el campo de texto en blanco para que agregue otro
		}
	}
	
	function quitar(){ //Para quitar el elemento seleccionado de la lista
                var lista = document.getElementById('select'); //Cambia select si le vas a poner otro nombre a la lista
		for(var i=0; i < lista.options.length; i++){ 
			if(lista.options[i].selected){
				lista.options[i] = null;
				break;
			}
		}
	}
</script> 
En la forma, agregale a tu lista el atributo id:
Código HTML:
<select name="select" size="6" id="select">
    <option value="0">No hay datos ingresados</option>
</select> 
Al boton agregar añadele el evento onclick y quitale todo lo demas para que te quede asi:
Código HTML:
<input type="button" value="Agregar" onclick="agregar();"/> 
El de quitar seria asi:
Código HTML:
<input type="button" value="Quitar" onclick="quitar();"/> 
Estos botones no son submit para que no nos envie a otra pagina. Tendras que agregar otro boton que si sea submit para mandar la forma a otra pagina

Ahora, si tienes que enviar todos los valores de la lista que seleccione el usuario, con PHP puedes crear un arreglo de valores, o sea, en lugar de que tu lista se llame select, pon select[]:
Código HTML:
<select name="select[]" size="6" id="select">
    <option value="0">No hay datos ingresados</option>
</select> 
Y en PHP tendras un array del tipo $_POST[select][0], $_POST[select][1] etc dependiendo de la cantidad de selecciones.

Analiza el codigo para que veas como funciona y espero que te sirva, saludos
__________________
Revista DdS
Revista on-line sobre desarrollo de software
  #3 (permalink)  
Antiguo 08/10/2004, 12:51
Avatar de claudioif  
Fecha de Ingreso: julio-2004
Mensajes: 19
Antigüedad: 19 años, 9 meses
Puntos: 0
satchb: Gracias por el codigo... lo voy a probar ahora mismo. no conosco nada sobre javascrip espero que no se me complique...
Ahora yo en php concatenaba la fecha + " - " + el nombre y lo guardaba en el array... como lo concateno en java? o puedo usar PHP?

Saludos---
__________________
-=|Claudio!F|=-
  #4 (permalink)  
Antiguo 08/10/2004, 13:57
 
Fecha de Ingreso: septiembre-2004
Ubicación: Puebla, México
Mensajes: 81
Antigüedad: 19 años, 6 meses
Puntos: 0
En javascript las cadenas se concatenan con '+' en vez de '.' como se hace en php

El que uses php o javascript ya depende de tus gustos o como se te haga mas facil. Con php mandas los cambios a otra pagina o actualizando la misma, con javascript los haces en la misma pagina dinamicamente.

Si tienes dudas de javascript puedes darte una vuelta por el foro de javascript o buscar algunos manuales en la red, no es muy dificil aprenderlo ;)

saludos
__________________
Revista DdS
Revista on-line sobre desarrollo de software
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 15:54.