Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema nel visualizzare una pagina

    Salve a voi ragazzi..
    in un sito che sto creando mi succede una cosa strana..
    Praticamente quando clicco nel profilo di un utente alla voce"invia messaggio"
    mi manda alla pagina per l invio però mi mostra tutto bianco..però se faccio aggiorna sulla stessa pagina bianca mi mostra la pagina correttamente..
    A cosa è dovuto ciò?

    Questa è la pagina in questione forse sbaglio in qualche parte di codice..
    Codice PHP:

    <html>  

    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
    <title>Invia messaggio all utente</title>  
    </head>  

    <body>  



    <?  


    //Apro la sessione e...  
    session_start();  
    //verifico che dopo il login io abbia la chiave di sessione ad 1  
    if($_SESSION['logged']==1){  
    //se si...  
    //verifico se esiste la variabile destinatario
    if(isset($_GET['destinatario']) OR $_GET['destinatario'] != ""){
    $destinatario=$_GET['destinatario'];
     
    //verifico se esiste la variabile email
    if(isset($_GET['email']) OR $_GET['email'] != "")
    $emaildest=$_GET['email'];
    }

      
    //facciamo una stampata a video!  
    echo "Email:$emaildest Ciao " $_SESSION[nickname] . "Scrivi il messaggio che vuoi inviare  

    <form method=\"post\" action=\"invio.php\">  


    Destinatario</p>  


    <input type=\"text\"  name=\"destinatario\" value=\"
    $destinatario\"readonly</p>    
    <input type=\"text\"  name=\"emaildest\" value=\"
    $emaildest\"readonly</p>
    <textarea name=\"messaggio\"></textarea>  
    <input type=\"submit\" value=\"Invia messaggio\">  
    </form>  "
    ;

    } else {  
    //altrimenti...  
    echo "Non sei loggato...";  
    //annullo tutte le chiavi di sessioni se esistono  
    session_unset();  
    session_destroy();  
    header("Location: login.htm");
    exit;  
    }  
    ?>

  2. #2
    La quantità di errori di quella pagina è sorprendente.

    1. Non usare lo short open tag, utilizza il tag di apertura completo.
    2. Richiama le funzioni di manipolazione degli header (es. session_start(), header(), etc.) PRIMA di inviare qualsiasi dato al buffer di uscita.
    3. Non accedere ad un elemento di un array senza verificarne l'esistenza.
    4. $_SESSION[nickname] dovrebbe essere $_SESSION['nickname'] o simile.
    5. L'header location dovrebbe utilizzare un URL assoluto.
    6. I TAG dei campi input sono sbagliati.
    7. Prima di inserire negli attributi VALUE dei campi INPUT devi valori dovresti applicarci htmlentities() o funzione equivalente.
    8. In fase di sviluppo, abilita sempre la visualizzazione di tutti gli errori!

    Poi, ovviamente, dovresti postare il codice di invio.php.

  3. #3
    Ciao,
    ho fatto un pò di correzzioni..diciamo fin dove son riuscito..

    Codice PHP:
    <html>  

    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
    <title>Invia messaggio all utente</title>  
    </head>  

    <body>  



    <?php  
    error_reporting
    (E_ALL);
    ini_set('display_errors'1);


    //Apro la sessione e...  
    session_start();  
    //verifico che dopo il login io abbia la chiave di sessione ad 1  
    if($_SESSION['logged']==1){  
    //se si...  
    //verifico se esiste la variabile destinatario 
    if(isset($_GET['destinatario']) OR $_GET['destinatario'] != ""){ 
    $destinatario=$_GET['destinatario']; 
     
    }
    //verifico se esiste la variabile email 
    if(isset($_GET['email']) OR $_GET['email'] != ""){
    $emaildest=$_GET['email'] ;
      }
      
      
    //facciamo una stampata a video!  
    echo "Email:$emaildest Ciao " $_SESSION['nickname'] . "Scrivi il messaggio che vuoi inviare  ";?>

    <form method="post" action="invio.php">  


    Destinatario</p>  


    <input type="text"  name="destinatario" value="<?php echo htmlentities($destinatario);?>" readonly></p>    


    <input type="text"  name="emaildest" value="<?php echo htmlentities($emaildest);?>" readonly></p> 
    <textarea name="messaggio"></textarea>   
    <input type="submit" value="Invia messaggio">  
    </form>  
    <?php
    } else {  
    //altrimenti...  
    echo "Non sei loggato...";   
    //annullo tutte le chiavi di sessioni se esistono   
    session_unset();   
    session_destroy();   
    header("Location: index.php"); 
    exit;   
    }   
    ?>
    Il problema purtroppo non è ancora risolto..sempre lo stesso..per farsi' che la pagina si veda devo fare aggiorna

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.