Visualizzazione dei risultati da 1 a 7 su 7

Discussione: header che non vā

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193

    header che non vā

    Sto creando la pagina di login al sito e non capisco perchč non mi funziona:

    "procLogin.php"
    <?
    ob_start();
    /* Controllo Registrazione */
    session_start();

    include 'conndb.php';
    // Assegna Variabili
    $username = $_POST['username'];
    $password = $_POST['password'];
    $_SESSION['username'] = $username;
    $_SESSION['password'] = $password;
    if((!$username) || (!$password))
    {
    //Gestione errori
    }

    // Converte la password in formato md5
    $password = md5($password);

    // Controlla se l'utente č registrato
    $sql = "SELECT * FROM devbb_members WHERE username='$username' AND password='$password'";
    $result = mysql_query($sql);
    $array = mysql_fetch_array($result);

    if($array['username'] == $_POST['username']){

    //Assegna le altre variabili del db

    //Invio alla pagina personale
    echo "login corretto";
    header (" location: pagina_personale.php");

    } else {
    echo "non vā";
    //Gestione errori
    }
    ?>


    Quando invio i dati di login mi stampa a video login corretto ma non mi manda alla pagina_personale.php,resta sempre sulla pagina procLogin.php e non ne capisco il motivo.
    Preciso che echo "login corretto"; l'ho messo solo per capire se eseguiva l'if ma vā tolto.
    Se avete consigli per migliorare il codice per il login saranno molto apprezzati trattandosi del primo codice che scrivo in php!
    Grazie

  2. #2
    beh non potresti mandare un header dopo un output, il quale č echo "login corretto", perciō non funziona!

    Prova a usare javascript
    echo "<script>location.href='pagina_personale.php'; </script>";
    oppure i meta tags
    echo "<meta http-equiv=\"refresh\" content=\"2;URL=pagina_personale.php\">"; dove 2 sono i secondi di attesa prima del refresh

    Ciaooo!
    PER CASO ti serve un guestbook, completamente personalizzabile?e PER CASO lo vuoi anche gratis e senza pop-up o dialer?E allora prova il nuovo NewAge GuestBook..Niente per caso, tutto perfetto

  3. #3
    ciao seifter, probabilmente il problema sull'header č il seguente:
    la funzione header() va chiamata prima di qualsiasi output HTML o PHP (anche righe o spazi vuoti).

    Una possibile soluzione č questa:
    codice:
    <?php
    function redirect($url) {
       header('Location: '.$url);
    }
    ?>
    prova...ma non ti assicuro niente
    se vuoi approfondire: http://it2.php.net/header

    Ciao!
    Abbi

  4. #4
    Idea!!
    Se non ti importa che l'utente veda "login corretto", TOGLI quell'echo e lasciaci l'header...tanto se c'č l'header la pagina si reindirizza subito....
    PER CASO ti serve un guestbook, completamente personalizzabile?e PER CASO lo vuoi anche gratis e senza pop-up o dialer?E allora prova il nuovo NewAge GuestBook..Niente per caso, tutto perfetto

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Inanzitutto grazie per le risposte.
    Allora "login corretto" l'ho tolto ma non funziona comunque era solo per vedere se funzionava l'if,togliendolo resta sulla pagina "procLogin.php" bianca,per quanto riguarda la funzione header dopo un output dovrebbe essere risolta da ob_start().
    Non riesco a capire proprio perchč non funziona....

  6. #6
    se usi esattamente il codice che hai postato potrebbe essere un semplice errore di scrittura:
    header("Location: pagina.php");

    e non location in minuscolo e con uno spazio prima come tu l'hai postato, il fatto che non restituisce errori PHP (tu non ne parli) porterebbe a pensare che quello che passi a header č sconosciuto al browser, dunque verifica che sia scritto correttamente il Location: , non si sa mai, potrebbe anche essere la cause del non funzionamento.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Grazie 1000 ora funziona!Era solo per lo spazio prima di Location,perche la minuscola l'avevo giā corretta.
    Devo ancora mettermi in testa che gli errori di battitura sono importantissimi.
    Grazie a tutti

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.