Visualizzazione dei risultati da 1 a 2 su 2

Discussione: errore variabile $id

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    216

    errore variabile $id

    Salve, ho un problema in questo script.
    Nel ciclo foreach (in cui ho messo un commento) la variabile $id all'inizio vale 0 invece di partire da 1.
    Qualcuno può aiutarmi?

    Codice PHP:
    <?php
    if(isset($_REQUEST['id'])){
    $id $_REQUEST['id'];
    $articoli mysql_query("SELECT * FROM edizioni LEFT JOIN banners ON edizioni.id=banners.id 
    WHERE edizioni.id='"
    .$id."'");
    $articolo=mysql_fetch_object($articoli);
    $disabled_flag " disabled = 'disabled'";

    }else{
    $disabled_flag "";
    }

    if(isset(
    $articolo)){

    $anno post_db($articolo->edanno);
    $num  post_db($articolo->ednumero);
    $mese post_db($articolo->edmese);
    $anso post_db($articolo->edannoreale);
    $autore post_db($articolo->fotoautore);
    $desc post_db($articolo->fotodesc);
    $foto post_db($articolo->fotocover);
    $lockunlock $articolo->attiva;
    echo(
    "<form name='new_formedizione' id='new_formedizione' action='smista_insert.php' method='post' enctype='multipart/form-data'>\n");
    echo 
    $hidden;


    echo(
    "<div class='domtab'>\n");
    echo(
    "  <ul class='domtabs'>\n");
    echo(
    "[*][url='#t1']Informazioni[/url]\n");
    echo(
    "[*][url='#t2']Banners[/url]\n");
    echo(
    "[/list]\n");

    echo(
    "  <div class='box'>\n");
    echo(
    "    <h2><a name='t1' id='t1'>Informazioni</a></h2>\n");


    echo(
    "<div class='editrow'>\n");
    if(
    $disabled_flag==""){
    echo(
    "<div class='editleft'>Edizione</div>\n");
    }
    echo(
    "<div class='editright'>\n\n");

    function 
    selectNextEdition(){
    global 
    $session$romani$disabled_flag$mesi;    
    $disflag "";
    $out "";


        
    $query mysql_query("SELECT * FROM edizioni WHERE edannoreale = DATE_FORMAT(now(), '%Y') ORDER BY edmese ASC LIMIT 12;") or die(log_action(mysql_error()));
        
    $num mysql_num_rows($query);


        if(
    $num>0){
        
    #l'anno in corso ha almeno una edizione aperta
        
            
    $full 11;
            
    $mancanti $full $num;
            
    $mesi_edizione $mesi;
            
    $mesi_post array_slice($mesi_edizione,0,3);
            
    $mesi_fatti = array();
            while(
    $obj mysql_fetch_object($query)){
                
    $mesi_fatti[$obj->ednumero] = $mesi_edizione[$obj->ednumero];
                
    $mesi_fatti_ext[$obj->ednumero] = num_edizione($obj->id);
                
    $anno $obj->edannoreale;
                
    $edanno $obj->edanno;
                }

                
    $postanno $anno 1;
                
    $numanno $edanno;                  
                                          
    $numpost $edanno 1;
                
    $annoromano $romani[$numanno];
                
    $postromano $romani[$numpost];

            
    $mesi_liberi array_diff($mesi_edizione,$mesi_fatti);
    if(
    $disabled_flag!=""){
            
    $out .= "<select id='selectNextEdition' name='edizione' style='visibility:hidden' ".$disabled_flag.">\n";
            }
            else
            {
            
    $out .= "<select id='selectNextEdition' name='edizione' ".$disabled_flag.">\n";
            }
    if(
    $disabled_flag!=""){
    $no_nuova '1';
            
    $out .= "<optgroup label='Edizioni gi&agrave; aperte'>\n";

            foreach(
    $mesi_fatti as $id=>$mese){
                
    $out .= "<option style='text-decoration:line-through;color:#AAA;' value='".$numanno.":".$id.":".$anno."' 
                label='"
    .$mesi_fatti_ext[$id]."'>".$mesi_fatti_ext[$id]."</option>\n";
                }
            
    $out .= "</optgroup>\n";
    }

            
    $out .= "<optgroup label='Edizioni libere'>\n";

    $i 1;
            foreach(
    $mesi_liberi as $id=>$mese){
            if(
    $i === && !isset($no_nuova)){ $flag "selected='selected' "; }else{    $flag='';
            }
                
    $out .= "<option ".$flag."value='".$numanno.":".$id.":".$anno."' label='".$annoromano." - ".$mese." ".$anno."'>".$annoromano." - ".$mese." ".$anno."</option>\n";
                
    $i++;
                }

    $mese $mese +1;

            foreach(
    $mesi_post as $id=>$mese){
                
    $out .= "<option value='".$numpost.":".$id.":".$postanno."' label='".$postromano." - ".$mese ." ".$postanno."'>".$postromano." - ".$mese." ".$postanno."</option>\n";
                }
            
    $out .= "</optgroup>";
            
    $out .= "</select>";
            
            }else{
            
    #l'anno in corso e' a gennaio e non ha ancora una edizione aperta

            
    $full 11;
            
    $flag "";

    $rim mysql_query("SELECT MAX(edannoreale) AS maxsolare, MAX(edanno) AS maxedizione FROM edizioni;");
    $rimedio mysql_fetch_array($rim);

            
    $numanno $rimedio['maxedizione'];
            
    $numanno $numanno 1;
            
    $anno $rimedio['maxsolare']; #cosi' almeno sarebbe giusto, ma sapendo con chi ha a che fare, facciamo un controllo:
            
    if($anno != date('Y')){ $anno date('Y'); } 
            
    $annoromano $romani[$numanno];
            
            
    $mesi_edizione $mesi;
            
    $out .= "<select id='selectNextEdition' name='edizione'".$disabled_flag.">\n";
            foreach(
    $mesi_edizione as $id=>$mese){
                            
    //la variabile $id vale 0
            
    $out .= "<option ".$flag."value='".$numanno.":".$id.":".$anno."' label='".$annoromano." - ".$mese." ".$anno."'>".$annoromano." - ".$mese." ".$anno."
    </option>\n"
    ;
                    
            }
            
    $out .= "</select>";
            
            }
            
            
            
            
        echo 
    $out;
    }


    selectNextEdition();
    #exit();

    echo("</div>\n");
    #echo("<div class='clearfix'></div>");
    echo("</div>\n");

    echo(
    "<div class='editrow'>\n");
    echo(
    "<div class='editleft'>Fotografo</div>\n");
    echo(
    "<div class='editright'>\n"
    ."<input name='ediz[fotografo]' type='text' size='52' value='".$autore."'/>\n"
    ."</div>\n");
    #echo("<div class='clearfix'></div>");
    echo("</div>\n");

    echo(
    "<div class='editrow'>\n");
    echo(
    "<div class='editleft'>Descrizione</div>\n");
    echo(
    "<div class='editright'>\n"
    ."<textarea name='ediz[desc]' id='count_fotodesc' rows='10' cols='50'>\n".$desc."</textarea>\n"
    ."
    <span id='msg_fotodesc'></span>"
    ."</div>\n");
    #echo("<div class='clearfix'></div>");
    echo("</div>\n");
        
    echo(
    "<div class='editrow'>\n");
    echo(
    "<div class='editleft'>Copertina</div>\n");
    echo(
    "<div class='editright'>\n");

    if(isset(
    $id) && $foto!=""){
    list(
    $thumbwidth$thumbheight$thumbtype$thumbattr) = getimagesize(THUMB_FOLDER.$foto);

    echo 
    "\n[img]".THUMB_FOLDER.$foto."[/img]";

    echo(
    "<input name='ediz[fotocover]' type='hidden' value='".$foto."'/>\n");

    echo
    '<a href="smista_delete.php?imgact=delcover&amp;eid='.$id.'" class="delcover" title="Elimina copertina">[img]'.SYSIMG_FOLDER.'icon-delete.png[/img]'
    .'</a>';

    }else{
    echo(
    "<input name='userfile' size=50 type='file' value='".$foto."'/>\n");
    }

    echo(
    "</div>\n");

    echo(
    "</div>\n");

    echo(
    "<div class='editrow'>\n");
    echo(
    "<div class='editleft'>Stato</div>\n");
    echo(
    "<div class='editright'>\n");
        echo(
    "<select name='ediz[attiva]' id='selStatoEdizione'>");
        echo(
    "<option value='0' label='Aperta'>Aperta</option>");
        echo(
    "<option value='1' label='Chiusa'>Chiusa</option>");
        echo(
    "<option value='2' label='Pubblicata'>Pubblicata</option>");
        echo(
    "</select>");
    echo(
    "</div>");
    echo(
    "<div class='editright'>\n"
    ."<input type='submit' value='Modifica edizione' name='modifica' class='act'/>\n"
    ."</div>");
    echo(
    "<div class='clearfix'></div>");
    ?>

  2. #2
    io vedi che usi la variabile $id nella funzione selectNextEdition() senza avergliela passata come valore. Penso che saprai che all'interno delel funzioni una variabile viene creata, separatamente dalle altre anche se hanno nomi uguali, e quindi all'interno della suddeta funzione $id ha valore zero. perciò devi passare alla funzioen quel valore:

    function selectNextEdition($id)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.