Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: romanjr en 23 Marzo 2011, 00:00 am



Título: arreglos de pilas
Publicado por: romanjr en 23 Marzo 2011, 00:00 am
hola amigos del foro, una vez mas yo con una serie de dudas que para ustedes se que son muy sencillas pero a mi me estan causando un problema enorme, ojala puedan ayudarme, de antemano gracias.

ok la cosa es la siguiente este es un formulario donde se capturan una serie de datos y esos datos se van a un arreglo tipo pila de lo que se deriva una lista que se desplega cada vez que se aprieta el boton "agregar" dicha lista tiene la opcion de que el usuario puede eliminar los registros a su voluntad segun un boton que aparece como prefijo de cada registro.

una vez terminada la lista que genera el usuario puede grabarla en una BD

en mi localhost tengo el mismo codigo pero sin los POST y GETS y funciona perfectamente porque tengo las globals en off pero al subirla al servidor ya no hace nada, alguien me puede ayudar?????

ahi dejo el codigo:


<html>
<head>
<title>captura de PNEIAA</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" background="../webs/fondo.jpg">

<?php
       if (empty($_POST['PILA'])){
          $pila=array();
          $pila1=array();
          $pila2=array();
          $pila3=array();
          $pila4=array();         
          $pila5=array();
          }
         
       else{
          $pila=explode("-",$PILA);
          $pila1=explode("-",$PILA1);
          $pila2=explode("-",$PILA2);
          $pila3=explode("-",$PILA3);
          $pila4=explode("-",$PILA4);
          $pila5=explode("-",$PILA5);
          }
       switch(@$BOTON){
          case "Agregar"   : array_push($pila,$tipro);
                             array_push($pila1,$nombre);
                             array_push($pila2,$pobl);
                             array_push($pila3,$disipl);
                             array_push($pila4,$propo);
                             array_push($pila5,$benef);
                             break;
       }
             
       if (isset ($_POST['partmatr'])){
          
            array_splice($pila,$partmatr,1);
            array_splice($pila1,$partmatr,1);
            array_splice($pila2,$partmatr,1);
            array_splice($pila3,$partmatr,1);
            array_splice($pila4,$partmatr,1);
            array_splice($pila5,$partmatr,1);
            unset($partmatr);
       }
       
?>

<?php

// este espacio se reserva

?>

<?php   
         
 /* conecta a la base de datos*/
 $conecta=mysql_connect("serv","user","xxxx") or die ("no se puede conectar");
 $base_1=mysql_select_db('base',$conecta) or die ("no se conecta la base");
 
 @$nosol=$_GET['nosol'];
 @$fehor=$_GET['fehor'];
 
 echo "<form action='' method='POST'>\n";
 
 echo "<font color=#000000>Solicitud No.: <font color=#FF0000>$nosol ";
 echo "<font color=#000000>  Fecha: <font color=#0000FF>$fehor";
 
 echo "<table border=1>"; 
  echo "<b><tr><th colspan='5'>Programas que realiza</th></tr></b>";
 
 @$nombre=$_POST['nombre']; 
 @$pobl=$_POST['pobl'];
 @$disipl=$_POST['disipl'];
 @$propo=$_POST['propo'];
 @$benef=$_POST['benef'];
  $cricap="select * from prorea where nosol=$nosol";
 $recap=mysql_query($cricap) or die ("no se pudo los datos capturados");
 $rerecap=mysql_num_rows($recap);
 $filacap=mysql_fetch_array($recap,MYSQL_ASSOC);

 $tiprog = array('Educativos','Difusión Artistística y Cultutal','Vinculación con la Comunidad','Otros');
 echo '   
   <td valign="top"><fieldset><legend>Tipo de Programa</legend><select name="tipro">';
    for($x = 0; $x < count($tiprog); $x++)
    {
         // escribe "selected" si el valor coincide con lo enviado
         if($tiprog[$x] == $_POST['tipro'])
         {
             $selected = ' selected';
          }else{
             $selected = '';
          }
          // print the option
          echo '
           <option value="'.$tiprog[$x].'"'.$selected.'>'.$tiprog[$x].'</option>';
    }
 echo '
  </select>';
 @$tipro=$_POST['tipro'];
 
 @$benefa=$_POST['benef'];
 echo "<legend>Benef. prom. anual<input type'text' NAME=benef size=5 value=$benefa></legend>
        </fieldset></td>"; 
           
 @$nombrea=$_POST['nombre'];           
 echo "<td><fieldset><legend>Descripción</legend><TEXTAREA NAME=nombre ROWS=4 COLS=25>$nombrea
        </TEXTAREA></fieldset></td>";
 
 @$pobla=$_POST['pobl']; 
 echo "<td><fieldset><legend>Población a la que se dirije</legend><TEXTAREA NAME=pobl ROWS=4 COLS=25>$pobla
        </TEXTAREA></fieldset></td>";     
 
 @$disipla=$_POST['disipl']; 
 echo "<td><fieldset><legend>Disciplinas</legend><TEXTAREA NAME=disipl ROWS=4 COLS=25>$disipla
        </TEXTAREA></fieldset></td>"; 
 
 @$propoa=$_POST['propo'];
 echo "<td><fieldset><legend>Propósitos</legend><TEXTAREA NAME=propo ROWS=4 COLS=25>$propoa
        </TEXTAREA></fieldset></td>"; 

 echo "</table>";
 
 if (isset($apunt)){$apunt++;}
  else {$apunt=0;}
   echo "<input type='hidden' name='apunt' value='$apunt'>"; 
   echo "<td><input type='submit' name='BOTON' value='Agregar'></td>";

?>

 <INPUT TYPE="HIDDEN" NAME="PILA" VALUE="<?php echo implode('-',$_POST['pila']) ?>">
 <INPUT TYPE="HIDDEN" NAME="PILA1" VALUE="<?php echo implode('-',$pila1) ?>">
 <INPUT TYPE="HIDDEN" NAME="PILA2" VALUE="<?php echo implode('-',$pila2) ?>">
 <INPUT TYPE="HIDDEN" NAME="PILA3" VALUE="<?php echo implode('-',$pila3) ?>">
 <INPUT TYPE="HIDDEN" NAME="PILA4" VALUE="<?php echo implode('-',$pila4) ?>">
 <INPUT TYPE="HIDDEN" NAME="PILA5" VALUE="<?php echo implode('-',$pila5) ?>">   
   
<?php
 
 
    echo "</table>";
   echo "<table border=0 cellpadding=1 cellspacing=1>";
   $celcolor1='#F0FFFF';
   $celcolor2='#B0E0E6';
   $celcolor=$_POST['celcolor1'];
   echo "<tr>";
   echo "<b><tr bgcolor=$celcolor2><th width='30'>Borr.</th><th width='20'>Tipo</th><th width='20'>Descrip.</th><th width='20'>pobl.</th><th width='20'>Disiplinas</th><th width='20'>Propositos</th><th width='5'>Benef.</th></tr></b>";   
   echo "<tr bgcolor=$celcolor>\n";
             
   while(list($pos,$valor)=each($pila)){
                     
           list($pos1,$valor1)=each($pila1);
           list($pos2,$valor2)=each($pila2);
           list($pos3,$valor3)=each($pila3);
           list($pos4,$valor4)=each($pila4);
           list($pos5,$valor5)=each($pila5);             
           echo "<tr bgcolor=$celcolor><TD><input type='submit' src='../images/iconos/borr.ico' name='partmatr' value='$pos' alt='$pos' ></TD>";
             
           echo "<TD>$valor</TD>";
           echo "<TD>$valor1</TD>";
           echo "<TD>$valor2</TD>";
           echo "<TD>$valor3</TD>";
           echo "<TD>$valor4</TD>";
           echo "<TD>$valor5</TD></TR>";
               
           if ($celcolor==$celcolor1){$celcolor=$celcolor2;}
            else {$celcolor=$celcolor1;}               
       }
       
       
   $num=sizeof($_POST['pila']);
   reset($pila);
   $num=sizeof($pila1);
   reset($pila1);           
   $num=sizeof($pila2);
   reset($pila2);           
   $num=sizeof($pila3);
   reset($pila3);           
   $num=sizeof($pila4);
   reset($pila4);           
   $num=sizeof($pila5);
   reset($pila5);     
     
    //$conagpla="INSERT INTO prorea (tipro,descr,pobl,disipl,propo,benef,nosol,fecha) VALUES('$campo','$campo1','$campo2','$campo3','$campo4','$campo5','$campo6','$campo7')";
     
  echo " <input type='submit' name='boton1' value='Grabar'>";
 echo " <input type='submit' name='boton2' value='Cancelar'>";
   
   if (@$_POST['boton1']=='Grabar')
   {     
    $completo=array("tipro"=>$pila,"descr"=>$pila1,"pobla"=>$pila2,"disipl"=>$pila3,"propo"=>$pila4,"benef"=>$pila5,"nosol"=>array_fill(0,count($pila),$nosol),"fecha"=>array_fill(0,count($pila),$fehor));
    reset($completo);       
    $cuantas=count($pila);
    for($i=0;$i<$cuantas;$i++) {       
       $campo=$completo['tipro'][$i];
       $campo1=$completo['descr'][$i];
       $campo2=$completo['pobla'][$i];
       $campo3=$completo['disipl'][$i];
       $campo4=$completo['propo'][$i];
       $campo5=$completo['benef'][$i];
       $campo6=$completo['nosol'][$i];
       $campo7=$completo['fecha'][$i];
         
   if ($rerecap==0){   
     $conagpla="INSERT INTO prorea (tipro,descr,pobl,disipl,propo,benef,nosol,fecha) VALUES('$campo','$campo1','$campo2','$campo3','$campo4','$campo5','$campo6','$campo7')";
    }
   
   else
    {
     $conagpla="UPDATE datapl SET tipro='$campo',descr='$campo1',pobl='$campo2',disipl='$campo3',propo='$campo4',benef='$campo5',nosol='$campo6',fecha='$campo7' WHERE nosol='$nosol'";
    }
         
      $resagpla=mysql_query($conagpla) or die ("no se pudieron agregar los datos");
      echo "
        <script language='javascript'>
        alert(\"Se agrego el registro $i \");         
        </script>";       
    }
     
   }
 
?>

</body>
</html>


pido disculpas por lo poco elegante del codigo.... :-\

por su ayuda mil gracias