Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Undefined offset

  1. #1

    Undefined offset

    ho letto tutti i post su questo errore ma non sono riuscita a sistemare nulla:

    Notice: Undefined offset: 1

    Codice PHP:
     <? 
            $lasso 
    =0;
            function 
    elettorato($temp


      if(
    $temp == '0000-00-00'
      return 
    FALSE

      
    $temp explode("-",$temp); 
      
    $oggi explode("-",date("Y-m-d")); 

    if (
    $oggi[1] > $temp[1]) 
      return 
    $oggi[0] - $temp[0]; 
                  elseif (
    $oggi[1] >= $temp[1] && $oggi[2] >= $temp[2]) 
                  return 
    $oggi[0] - $temp[0]; 
                        else 
                        return 
    $oggi[0] - $temp[0] - 1
    }
    la riga che mi viene indicata come contenente l'errore è questa
    Codice PHP:
    if ($oggi[1] > $temp[1]) 
    sapete dirmi qualcosa...

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Assicurati che l'elemento di indice 1 dell'array $temp esista, penso dipenda da questo.

  3. #3
    ho usato questo codice

    Codice PHP:
    <?
     
    if (in_array(1$temp)) 
       echo 
    "1 c'è."
    else 
       echo 
    "1 non c’è.";?>
    la risposta è che non c'è, come posso rimediare?

  4. #4
    come passi il dato alla funzione ? .... (mi pare sia di quelle che ho postato io)

    ti conviene mettere il tag php esteso. potresti a breve dover ripassare tutti gli script per metterlo.

    <?php

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    vediamo se ho capito:

    Il dato alla funzione dovrebbe essere passato da questa riga di codice,
    Codice PHP:
    <input name="pro_dataiscr" type="text" id="pro_dataiscr" size="12" maxlength="10">
    <
    span class="Stile1">gg/mm/aaaa</span></td
    nel file dove si compila il form inserisci data iscrizione...

    viene poi preso da un altro file con questo codice:
    Codice PHP:
    if($_REQUEST['pro_dataiscr'] != NULL)
                    {
                    
    $data $_REQUEST['pro_dataiscr'];
                        if (
    ereg ("([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})"$data$regs)) 
                        {
                         
    $data "$regs[3]-$regs[2]-$regs[1]";
                        
    $campi .= ", `pro_dataiscr` ";
                        
    $valori .= ", '$data'";

                        } 
                        else{
                                   echo 
    "
    Formato di data non valido: 
    $data";
                                
    $errore++;
                            }

                    } 
    poi nel file dove è presente anche la funzione compleanno, se può servire, c'è questo codice:
    Codice PHP:
    <? 
              $data 
    $row['pro_dataiscr'];
              
    $titolo $row['pro_titolo'];
              
    $numero $row['pro_num'];
              
    $attivo $row['pro_att'];
              
    //echo "$data - $titolo - $numero - $attivo";
            
                    
              
    if($data "0000-00-00")
                      {
                    
                    
    $maschera "<tr><td>
    [b]<a href=\"stampa_iscrizione.php?tipo=pro&id_ass=
    $id_ass\" target=_blank>PROFESSIONISTI</a>[/b]</td></tr><tr><td bgcolor=\"#CDE5E5\">Iscr: ";
                    echo 
    $maschera;
                    
    format_date($data);$check $row['pro_att'];
             
    // echo $check;
              
    if($check == 1)
                      {
                    print 
    " <img src=\"immagini/verde.jpg\" width=\"15\" height=\"15\" border=\"0\" title=\"SI\">";
                    }
                else {
                print 
    " <img src=\"immagini/rosso.jpg\" width=\"15\" height=\"15\" border=\"0\" title=\"NO\">";
                    
                }
                    
    $maschera "</td></tr><tr><td bgcolor=\"#CDE5E5\">Titolo: ";
                    echo 
    $maschera;
                    echo  
    $titolo;
                    
    $maschera "</td></tr><tr><td bgcolor=\"#CDE5E5\">N&deg;elenco: [b] ";
                    echo 
    $maschera;
                    echo 
    $numero;
                    
              
    $maschera "  - <a href=\"ordine.php?tipo=pro\"target=_blank>albo</a>[/b]</td></tr> ";
                    echo 
    $maschera;
                    
                }
                    
    ?>
    il tag esteso deve essere aggiunto al posto del semplice short tag (si chiama così?) <? sempre, o in qualche caso può dare errori? Per chiuderlo perciò è PHP?>

    ciao

  6. #6
    eh no eh.... se ti chiedo come passi i dati alla funzione tu non mi posti la divina commedia....

    vedo cose "stupende" nel tuo script.... meno quello che mi interessa.

    come passi i dati quando invochi la funzione e cosa contiene la variabile.


    il tag esteso da utilizzare e' quello di apertura, quello di chiusura rimane ?> com'e'. Quello di apertura va utilizzato esteso perche' anche altri script utilizzano <? per esempio XML.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Codice PHP:
    $value1 elettorato($row['pro_dataiscr']); 
    $value2 elettorato($row['pub_dataiscr']); 
    mancava questo?

  8. #8
    Originariamente inviato da lory2
    Codice PHP:
    $value1 elettorato($row['pro_dataiscr']); 
    $value2 elettorato($row['pub_dataiscr']); 
    mancava questo?
    esatto...

    non entro nel merito dello script perche' e' fatto in base a come ragioni tu e quindi mi sfuggono molte cose. Concentriamoci sulla funzione.

    stampa il contenuto della variabile che passi alla funzione. Siccome e' ben poco probabile che l'errore nella funzione sia riferito all'array $oggi generato con l'explode di date() si presume ci sia una incongruenza nei dati passati con $row['etcetc']

    Quindi prova a stampare questo array $row

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    ho provato a stampare la riga, ma non mi sembra che ci siano incongruenze nei dati....

    il fatto è che i dati vengono inseriti da un form per inserire un nuovo iscritto. Una volta registrato, accedendo alla sua scheda, viene visualizzato questo errore. dalla scheda iscritto si può accedere ad una parte che modifica i dati. Se entro in modifica anche non modificando niente, tornando alla scheda l'errore scompare. Dunque pensavo fosse un problema di formattazione diversa della data o qualcosa del genere, ma non riesco a capire...

    Ora mi dirai nuovamente che parlo cineseeee

  10. #10
    cinese proprio no. Il problema e' che si deve giudicare dalle tue valutazioni.

    Ora hai proposto un errore che non trova spiegazione nella funzione ma in in quello che passi alla funzione. Potrebbe anche essere che il tuo "non ci sono incongruenze" sia diverso dal "non ci sono incongruenze" di php.

    Con tutto il rispetto per il cinese, se devo credere a qualcuno tra te ed il php credo "di piu' assai" al php.

    il fatto è che i dati vengono inseriti da un form per inserire un nuovo iscritto. Una volta registrato, accedendo alla sua scheda, viene visualizzato questo errore. dalla scheda iscritto si può accedere ad una parte che modifica i dati. Se entro in modifica anche non modificando niente, tornando alla scheda l'errore scompare. Dunque pensavo fosse un problema di formattazione diversa della data o qualcosa del genere, ma non riesco a capire...
    E che vuol dire cio'??? Non sono le azioni ma come le esegui.... e questo e' un mistero.

    non ti chiedo di postare la stampa dell'array.... per timore che mi posti 3425 righe...

    prova a fare cosi':

    echo elettorato('2006-11-01');

    se ti torna il risultato giusto senza errori il problema cercalo altrove.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.