Pagina 2 di 5 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 50

Discussione: Sessione PHP

  1. #11
    Be' in realtà puoi anche fare così

    <?php
    if(isset($_SESSION['utente'])){
    ?>
    ...scrivi codice html...
    <?php
    }
    else{
    ...}
    ?>

    Cioè, una volta creato l'if, tra le parentesi graffe puoi anche chiudere i tag php, scrivere in semplice html, quindi riprendere il php normalmente.

  2. #12
    giusto! grazie mille

  3. #13
    Per verificare che la sessione sia creata devo usare isset? Mi rinfrescate la cosa con un esempio?

  4. #14
    isset() se non erro restituisce vero se la variabile passata in esame 'esiste', altrimenti restituisce falso.

  5. #15
    Vorrei leggere i dati di login da una pagina e metterli in delle stringhe per elaborarli nella stessa pagina.
    Nell'attributo action del tag form indico l'indirizzo della pagina stessa?
    Se i dati di login sono corretti avvio una sessione e al posto della schermata di login faccio comparire la schermata di logout. Su questo secondo punto non so proprio come fare...

  6. #16
    up

  7. #17
    Nella form, se i dati li deve elaborare la stessa pagina si mette nell'action: <?echo $_SERVER['PHP_SELF'];?> però se la form viene stampata in php si puo mettere anche nulla.

    Codice PHP:
    <?
    session_start
    ();
    $url $_SERVER['QUERY_STRING'];
    $user $_POST['user'];
    $pass $_POST['pass'];


    if(
    $url == dati_correct and $_SESSION['dati'] == true){ //se i dati sono corretti stampi quello che vuoi
    echo "schermata di logout";
    }else{ 
    //altrimenti metti sempre il login
    echo "
    <form action=\"\" method=\"post\">
    <input type=\"text\" name=\"user\"> 
     
    <input type=\"password\" name=\"pass\"> 
     
    <button type=\"submit\"> Invia </button> 
    </form>
    "
    ;
    }
    if(
    /*qui ci metti le tue condizioni per il login*/){
    //se i dati sono corretti:

    session_start();

    $_SESSION['dati'] = true;

    echo 
    "dati corretti";

    echo 
    '<script> window.location = "?dati_correct";</script>';

    }elseif (
    $_SESSION['dati']==true){

    }else{

    //se i dati sono incorretti

    echo "dati incorretti";

    session_start();

    $_SESSION['dati'] = false;


    }
    ?>
    Dovrebbe funzionare.

    Fammi sapere.

  8. #18
    Mi fa eseguire il login correttamente ma se dopo che ho fatto il login torno nella index mi ricompare il form di login anzichè la scritta di benvenuto...

    index.php
    codice:
    <?php
        if ($_SESSION['username']==true) {
            echo "benvenuto".$_SESSION['username'];
        }
        else {
    ?>
    <form action="login.php" method="post">
        <div>
            <input type="text" name="username"/>
            <input type="password" name="password"/>
            <input type="submit" value="OK"/>
        </div>
    </form>
    <?php
        }
    ?>
    login.php
    codice:
    <?php
        $username=$_POST['username'];
        $password=$_POST['password'];
        $xml=simplexml_load_file('xml/file.xml');
        foreach ($xml->user as $user)
            if ($username==$user['username']) {
                if ($password==$user['password']) {
                    echo "log-in effettuato";
                    session_start();
                    $_SESSION['username']=$username;
                }
                else
                    echo "password sbagliata";
            }
            else
                echo "utente inesistente";
    ?>

  9. #19
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    session_start
    deve stare IN CIMA in TUTTE le pagine

  10. #20
    Posso metterlo appena dentro al body o proprio prima del tag html?

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.