• User Attivo

    sessioni php

    salve, sono nuovo qui e cercando spunti su come creare sessioni sono arrivato in questo forum.
    premetto che sono un neofita in php e da poco ho cominciato in html, pero' ho un estremo bisogno di aiuto.

    ho bisogno di creare una sessione la quale registri nel database, alla fine di una sessione di un qualsiasi utente, tutti i dati che sono stati da lui compilati nel sito attraverso dei form.
    Non sono riuscito a creare ancora una sessione funzionante e quella che ho provato in default non mi trasmette nella cartella che ho creato i dati di sessione.
    Qualcuno puo' aiutarmi per favore?
    grazie


  • User Attivo

    Prova questo script che ti do in allegato...non è niente di speciale...però prova...


  • User Attivo

    GRAZIE!

    il mio utente pero' non fa nessun tipo di login... deve compilare il form di inizio pagina con alcuni dati personali e poi selezionare dei valori nelle pagine successive... alla fine di tutto trasmettere al database.

    quale script mi consigli tra quelli che mi hai mandato?
    ho visto sessione, ma come creo lo script giusto per le mie variabili nel mio caso?


  • User Attivo

    posto quello che ho fatto finora.
    prima pagina:

    <?php
    //Recupero username
    $user = $_POST['user'];
    $gender = $_POST['gender'];
    $year = $_POST['year'];
    $month = $_POST['month'];
    $day = $_POST['day'];
    $country = $_POST['country'];

    //Apro la sessione e...
    session_start();
    //Salvo i dati...
    $_SESSION['user'] = $user;
    $_SESSION['gender'] = $gender;
    $_SESSION['year'] = $year;
    $_SESSION['month'] = $month;
    $_SESSION['day'] = $day;
    $_SESSION['country'] = $country;

    $connessione=mysql_connect("localhost", ");
    $selezione_db=mysql_select_db("guest_book", $connessione);
    $inserimento=mysql_query( "insert into messaggi (user, gender, date_of_birth,country, data_ora) values ( '" . $_POST['user'] . "','" . $_POST['gender'] . "','" . $_POST['year'] . "-" . $_POST['month'] . "-" . $_POST['day'] . "', '" . $_POST['country'] . "', now())" );
    $sid = session_name() . '=' . session_id();
    session_write_close();
    header("Location: ht");
    ?>

    seconda pagina:(credo sbagliato lo script)

    <?php
    Header( "Location: //moduloguest2.htl" );
    ?>
    <?
    //Apro la sessione e...
    session_start();
    //Recupero i dati...
    $id_user = $_SESSION['id_user'];
    //facciamo una stampata a video!
    echo "Ciao " . $user;
    ?>

    <body>
    <?php
    $connessione=mysql_connect("localhost", "giorgio", "pdoigroig");
    $selezione_db=mysql_select_db("guest_book", $connessione);
    ?>
    <?php
    $inserimento=mysql_query( "insert into messaggi (activacione1, data_ora) values ( '" . $_POST['activacione1'] . "', now())" );
    ?>
    </body>
    </html>

    pero' la seconda pagina non credo sia giusta..


  • User Attivo

    Innanzitutto eco il primo errore nella second apagina:
    [php]
    <?php
    Header( "Location: moduloguest2.html" );
    ?>
    [/php]
    Poi:
    <?php
    //Recupero username
    $user = $_POST['user'];
    $gender = $_POST['gender'];
    $year = $_POST['year'];
    $month = $_POST['month'];
    $day = $_POST['day'];
    $country = $_POST['country'];
    include("sessioni.php");

    $connessione=mysql_connect("localhost", ");
    $selezione_db=mysql_select_db("guest_book", $connessione);
    $inserimento=mysql_query( "insert into messaggi (user, gender, date_of_birth,country, data_ora) values ( '" . $_POST['user'] . "','" . $_POST['gender'] . "','" . $_POST['year'] . "-" . $_POST['month'] . "-" . $_POST['day'] . "', '" . $_POST['country'] . "', now())" );
    $sid = session_name() . '=' . session_id();
    session_write_close();
    header("Location: ht");
    ?>

    crei il file sessioni.php
    <?php
    session_start();
    $_SESSION['entrato'] = "vero";//crea una nuova sessione che verifica se è stato eseguito il login
    $_SESSION['user'] = $user;
    $_SESSION['gender'] = $gender;
    $_SESSION['year'] = $year;
    $_SESSION['month'] = $month;
    $_SESSION['day'] = $day;
    $_SESSION['country'] = $country;
    ?>

    poi, nell'altra pagina

    <?
    include("sessione.php");
    if(!$_SESSION['entrato'] = "vero"){
    print("Effettua l'accesso!");
    }else{
    $usr=$_SESSION['user'];
    echo "Ciao $usr";
    }
    ?>

    <body>
    <?php
    $connessione=mysql_connect("localhost", "giorgio", "pdoigroig");
    $selezione_db=mysql_select_db("guest_book", $connessione);
    $inserimento=mysql_query( "insert into messaggi (activacione1, data_ora) values ( '" . $_POST['activacione1'] . "', now())" );
    <?php
    Header( "Location: //moduloguest2.hmtl" );
    ?>
    ?>
    </body>
    </html>
    è un po grossolano, non l'ho provato


  • User Attivo

    l'ho provato e cercato di aggiustarlo ma mi da numerosi errori..


  • User Attivo

    non riesco ad uscirne dal problema..:bho:

    ad ogni utente sono assegnati dei record in diversi campi nel database:

    Campo

    id_user
    user
    gender
    date_of_birth
    country

    questi vengono riempiti dall'utente tramite form nella prima pagina del sito.
    POI:

    stessa tabella, altri campi

    activacione1
    valencia1 alla pagina 2

    activacione2
    valencia2 alla pagina 3

    e csoi' via....

    Il campo id_user è autoincremente ed è chiave primaria.
    Quando poi vado a nserire altri record in altri campi della stessa tabella vorrei che lo possa inserire nel campo dove c'è id_user , ovvero l'ID dell'utente corrente.
    All'atto del primo inserimento dovrei salvare in sessione l'ID autoincrement dell'utent.
    Il problema mio risiede nel fatto che le pagine php aprono la connessione al database per inserire record nel campo:

    prima pagina:

    mysql_connect("localhost", "");
    $selezione_db=mysql_select_db("guest_book", $connessione);
    $inserimento=mysql_query( "insert into messaggi (user, gender, date_of_birth,country, data_ora) values ( '" . $_POST['user'] . "','" . $_POST['gender'] . "','" . $_POST['year'] . "-" . $_POST['month'] . "-" . $_POST['day'] . "', '" . $_POST['country'] . "', now())" );
    poi

    poi un'altra connessione al database per la seconda pagina,
    una terza pagina con altra select e altra connessione e cosi' via..

    il problema è che ovviamente ad ogni connessione risulta un utente diverso anche se in realta' è sempre lo stesso

    Vorrei che il mio utente rimanga con lo stesso id-autoincrement per tutti i dati che inserisce attraverso la compilazione delle varie form, magari inserendo poi alla fine tutto nel database, credo che posso farlo attraverso una sessione.
    ma non sono riuscito a trovare lo script...:x

    sono in fase disperazione. aiuto...
    :ciauz:
    grazie.