Foros del Web » Programando para Internet » PHP »

problemas con autollamada y más...

Estas en el tema de problemas con autollamada y más... en el foro de PHP en Foros del Web. Hola!! Tengo un par de problemillas con esta pagina y me estoy volviendo loco en encontrar la solucion.... El primer problema, y el mas importante, ...
  #1 (permalink)  
Antiguo 24/05/2009, 09:29
 
Fecha de Ingreso: enero-2008
Ubicación: Manresa
Mensajes: 24
Antigüedad: 16 años, 2 meses
Puntos: 0
problemas con autollamada y más...

Hola!!

Tengo un par de problemillas con esta pagina y me estoy volviendo loco en encontrar la solucion....

El primer problema, y el mas importante, es al comienzo hago una verificacion de acceso a dicha pagina mediante if (isset($_SESSION['k_username'])){ y luego verifico si se ha enviado algo mediante if (!$_POST){....}else{...}

Lo del usuario me funciona bien, pero lo del mirar si se ha enviado algo ya, pues no; nunca me aparece la tabla que ha de mostrar al enviar el formulario.

El otro problema que tengo es en las select multiples del formulario; representa que son dos selects multiples que se pasan los valores entre si y luego recojo estos valores mediante un foreach, para hacer la consulta. Bién, pues aqui, al estar vacia la segunda lista al iniciarse, me aparece el error:

Warning: Invalid argument supplied for foreach() in /var/www/vhosts/pluiedenuit.net/httpdocs/pluie/admin/llistats.php on line 86

Me podriais ayudar con estos problemas??

Muchas gracias

Código PHP:
<link rel="stylesheet" type="text/css" href="css/estils.css" />
<script type="text/javascript" src="js/jquery-latest.js"></script> 
<script type="text/javascript" src="js/jquery.tablesorter.js"></script> 

<?
session_start
();
include 
'../config.php';
conectar();
?>

<style type="text/css">
body {
    background-color: #0099FF;
}

select {
    width: 200px;
    height: 200px;
}
</style>

<script type="text/javascript">
function AddToSecondList()
{
    var fl = document.getElementById("firstlist");
    var sl = document.getElementById("secondlist");    
    for (i = 0; i < fl.options.length; i++)
    {
        if(fl.options[i].selected)
        {
            sl.add(fl.options[i],null);
            
        }
    }
    return true;
}

function DeleteSecondListItem()
{
    var fl = document.getElementById("firstlist");    
    var sl = document.getElementById("secondlist");    
    for (i = 0; i < sl.options.length; i++)
    {
        if(sl.options[i].selected)
        {
            fl.add(sl.options[i],null);
        }
    }
    return true;
}


$(document).ready(function() { 
    // call the tablesorter plugin 
    $("table").tablesorter(); 
}); 
</script>

<?
    
if (isset($_SESSION['k_username'])){
        if (!
$_POST){ 
?> 

<table width="100%" height="100%" border="0">
    <tr>
        <td align="center" valign="top">
            <form action="llistats.php" method= "post">
                <div>    
<?     

                $sql
="SELECT * FROM equivalencia";
                
$result=mysql_query($sql);
                if (
$row mysql_fetch_array($result)){ 
                    echo 
'<select name="firstlist[]" id="firstlist" multiple="multiple">';
                    do{
                           echo 
'<option value= "'.$row["nom_ori"].'">'.$row["nom_tra"].'</option>';}
                    while (
$row mysql_fetch_array($result)); 
                        echo 
'</select>';
                }
?> 
                    <input type="button" value="&gt;&gt; afegir" onclick="AddToSecondList();" />
                    <input type="button" value="&lt;&lt; eliminar" onclick="DeleteSecondListItem();" />  
                    <select name="secondlist[]" id="secondlist" multiple="multiple"></select>   
                </div>
<?
        
foreach($_POST["secondlist"] as $camps){
            if(
$campst == ""){
                
$campst $camps;
            }else{
                
$campst $campst.",".$camps;}
        }
?>   
                    <input name="Enviar" type="submit" value="Enviar" />
              </form>
        </td>
    </tr>
</table>  

<?
            
}else{
?>
  
<table class="tablesorter" cellspacing="1">
    <thead>
        <tr> 
<?
                $res2
mysql_query("SELECT ".$campst." FROM usuaris");
                for (
$i 0$i mysql_num_fields($res2); $i++){  
                       echo (
"<th>".mysql_field_name($res2$i)."</th>");
                } 
?>
        </tr> 
    </thead>
    <tbody> 
<?
                
while ($registre mysql_fetch_row($res2)){
                    echo 
"<tr>";
                    foreach(
$registre as $clau){
                        echo 
"<td>",$clau,"</td>";
                    }
                }echo 
"</tr>"
?> 
    </tbody>
</table>   
        
<?
          
}
    }
//fi login
        
desconectar();
?>
  #2 (permalink)  
Antiguo 24/05/2009, 09:55
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: problemas con autollamada y más...

analiza bien tu código

dentro de if(!$_POST), intentas hacer un foreach con $_POST

en otras palabras primero dices si no existe la superglobal $_POST, entonces que recorra el $_POST con foreach.

es correcto???.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #3 (permalink)  
Antiguo 24/05/2009, 10:00
 
Fecha de Ingreso: enero-2008
Ubicación: Manresa
Mensajes: 24
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: problemas con autollamada y más...

tu te crees???? mira que era facil...... y era simplemente donde estaba colocado.....

muchisimas gracias!!! eres mi luz!!! jejeje
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 23:57.