Visualizzazione dei risultati da 1 a 8 su 8

Discussione: if diverso con IE

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371

    if diverso con IE

    ma gli if in php dovrebbero funzionare allo stesso modo indifferentemente dal browser utilizzato dato che il php lavora lato server giusto???
    vi chiedo questo perchè ho questo codice scritto in una pagina ma da effetti diversi a seconda del browser:
    dovrebbe rimandare alla pagina prova.php se le ultime 4 lettera contenute nella variabile nome sono ".png", mentre dovrebbe tornare alla pagina precedente dopo 3 secondi se non sono ".png" ...
    con google chrome e Firefox è esattamente questo l'effetto, invece con IE se name termina con ".png" scrive "Inserimento in corso..." per poi ricaricare immediatamente la pagina(da solo) facendo apparire la scritta "Sono ammesse solo immagini con estensione .png !" e dopo poco rimanda alla pagina precedente, mentre se name non termina con ".png" appare solo la scritta "Sono ammesse solo immagini con estensione .png !" per poi tornare indietro(quindi è tutto corretto)...
    spero che qualcuno di voi mi saprà aiutare...


    Funzione start_counter e redirect in javascript:
    codice:
    <script language="JavaScript">
    
    	function redirect() {
    
    		location = "javascript:history.back();"
    
    	}
    
    	function start_counter() {
    
    		self.setTimeout('redirect()', 3000);
    
    	}
    </script>
    Funzione redirect:
    Codice PHP:
    function redirect($url,$tempo FALSE )
    {
    if(!
    headers_sent() && $tempo == FALSE )
          {
          
    header('Location:' $url);
          }
    elseif(!
    headers_sent() && $tempo != FALSE )
                {
                
    header('Refresh:' $tempo ';' $url);
                }
          else
                {
                 if(
    $tempo == FALSE )
                       {
                       
    $tempo 0;
                       }
                 echo 
    "<meta http-equiv=\"refresh\" content=\"" $tempo ";" $url "\">";
                 }

    Parte del codice che da problemi:
    Codice PHP:
    if(strtolower(substr($nome, -4))==".png")
        
    $estensione=png;
    else
        
    $estensione="NV";
    if(
    $estensione!=NV(
        {
        echo 
    '<font size="5">Inserimento in corso...</font>';
        
    redirect("prova.php"0);    
        }
    else
        {
        echo 
    '<font size="5">Sono ammesse solo immagini con estensione  .png !</font>';
        echo 
    '<script>start_counter()</script>';
        }
    ?> 

  2. #2
    Non può dipendere assolutamente da php, che è lato server. Controlla piuttosto i problemi dei lato client.

    Un'altra cosa: non usare il tag <font>, ormai è deprecato, usa i CSS.
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505

    Re: if diverso con IE

    Originariamente inviato da davidinho
    Parte del codice che da problemi:
    Codice PHP:
    if(strtolower(substr($nome, -4))==".png")
        
    $estensione=png;
    else
        
    $estensione="NV";
    if(
    $estensione!=NV(
    ... 
    $estensione=png;
    $estensione!=NV;
    a occhio e croce sono sbagliate, a meno che png e NV non siano delle costanti.
    Lo sono?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371

    Re: Re: if diverso con IE

    Originariamente inviato da Alhazred
    $estensione=png;
    $estensione!=NV;
    a occhio e croce sono sbagliate, a meno che png e NV non siano delle costanti.
    Lo sono?
    no, non sono delle costanti, correggo, faccio altre prove e vedo se cambia qualcosa...
    ma per capire bene gli errori di un programma PHP non è possibile eseguire il debug???

  5. #5

    Re: Re: Re: if diverso con IE

    Originariamente inviato da davidinho
    ma per capire bene gli errori di un programma PHP non è possibile eseguire il debug???
    No, non si può, perchè php neanche viene compilato, ma solo interpretato al momento dell'esecuzione.
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371
    anche correggendo mettendo NV e png fra virgolette il problema è sempre presente...

    @furbostandby: cosa intendi per problemi latoclient???

    mi sono accorto ora che se elimino il redirect non da il problema rimanendo fermo sulla scritta "Inserimento in corso...", cosi ho provato a far reindirizzare ad una pagina inesistente per escludere problemi alla pagina prova.php ma il problema lo fa anche cosi...
    a questo punto non so più cosa fare... è come se la funzione redirect facesse eseguire anche la parte dopo l'else...

    il problema potrebbe essere dovuto al fatto che tento di fare un reindirizzamento relativo e non assoluto???
    se si come potrei fare un reindirizzamento relativo???

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371
    ho provato anche con link assoluti ma da lo stesso problema...

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371
    ho provato ad invertire gli if della funzione scrivendola cosi:

    Codice PHP:
    if(strtolower(substr($nome, -4))==".png"
        
    $estensione=png
    else 
        
    $estensione="NV"
    if(
    $estensione==NV
        {
        echo 
    '<font size="5">Sono ammesse solo immagini con estensione  .png !</font>'
        echo 
    '<script>start_counter()</script>';  
        } 
    else 
        {
        echo 
    '<font size="5">Inserimento in corso...</font>'
        
    redirect("prova.php"0);     
        } 
    ?> 
    il risultato è uguale a prima, appare "Inserimento in corso..." e poi la parte dell'if che comprende lo script in javascript e l'avviso dell'estensione...
    non capisco perchè... il problema sembra darlo la funzione redirect...
    c'è nessuno che mi sa aiutare???

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.