Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: session_id?

  1. #1

    session_id?

    non riesco ad uscire dal problema..

    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...

    sono in fase disperazione. aiuto...

    grazie.

  2. #2
    scusa ma io non ho capito bene quello che vuoi fare :master:

  3. #3
    ho una tabella, diverse pagine con select form per inserimento di record nella tabella, un id_autoincrement come chiave primaria...
    vorrei mantenere lo stesso id per l0utente che visita tutte le pagine e che quindi deve inserire forms.
    per fare questo vorrei ricordare tutto cio' che l'utente ha selezionato durante il corso della sua visita tramite sessioni e scrivere tutto nella tabella alla fine, con una sola connessione al database per utente.
    cerco aiuto disperato.anche sotto compenso se richiesto!

  4. #4
    non esageriamo adesso sotto compenso...
    scusa se c'è autoincremente è anche normale che viene incrementato... non puoi aggiungere tu stesso un numero id a parte che modifichi a tuo piacimento? oppure togliere l'autoincrement all'id principale e incrementarlo tu stesso quando è necessario?

  5. #5
    forse non comprendo le tue proposte, pero' sono certo che ogni utente deve avere un suo id e che deve crearsi automaticamente per ognuno.

  6. #6
    Forse ho capito in pratica tu devi fare una specie di Step1 Step2 e Step3 e alla fine di tutto inserire i dati immaganizzati?

  7. #7
    esatto...
    vari step che corrispondo a diverse pagine con inserimento record in tutti i campi della tabella.
    alla fine se sono stati scelti tutti i campi dall'utente inserirli nel database per poter elaborare le tuple.
    quindi avrei bisogno di una sessione che registri dall'inizio alla fine tutto cio' che scrive l'utente per poi "liberarlo" dopo l'inserimento dei dati con la connessione al database.
    mi puoi aiutare col codice?

  8. #8
    Ciao, ci ho messo un po' perchè non ho molta esperienza e sto imparando adesso, quindi ho trovato una soluzione e non so se è quella più corretta, ma l'importante è che risolvi il tuo problema credo

    Allora ho creato tre file che simulano 3 step quindi :
    step1.php
    step2.php
    step3.php

    e infine salvastep.php

    I dati si salvano con le sessioni quindi utilizzando $_SESSION i valori rimangono in memoria, ecco i codici:

    ********
    step1.php:
    ********
    <?php

    session_start();

    $_SESSION['username'] = "jonathan1";
    $_SESSION['password'] = "teststep";
    $_SESSION['authuser'] = 1;

    ?>

    <html>
    <head>
    <title>Step1</title>
    </head>


    <body>


    <form action="step2.php" method="GET">



    Nome1: <input type="text" name="nome1"></p>


    Cognome1: <input type="text" name="cognome1"></p>


    <input type="submit" name="submit" value="Vai a Step2"></p>

    </form>



    </body>
    </html>



    ********
    step2.php:
    ********

    <?php

    session_start();

    ?>

    <html>
    <head>
    <title>Step2</title>
    </head>


    <body>


    <form action="step3.php" method="GET">



    Nome2: <input type="text" name="nome2"></p>


    Cognome2: <input type="text" name="cognome2"></p>


    <input type="submit" name="step" value="Vai a Step3"></p>

    </form>

    <?php

    $_SESSION['nome1'] = $_GET['nome1'];
    $_SESSION['cognome1'] = $_GET['cognome1'];

    ?>

    </body>
    </html>



    ********
    step3.php:
    ********

    <?php

    session_start();

    ?>

    <html>
    <head>
    <title>Step3</title>
    </head>


    <body>


    <form action="salvastep.php" method="GET">



    Nome3: <input type="text" name="nome3"></p>


    Cognome3: <input type="text" name="cognome3"></p>


    <input type="submit" name="step3" value="Vai alla pagina dei dati"></p>

    </form>


    <?php

    $_SESSION['nome2'] = $_GET['nome2'];
    $_SESSION['cognome2'] = $_GET['cognome2'];

    ?>


    </body>
    </html>



    ***********
    salvastep.php:
    ***********

    <?php

    session_start();

    $_SESSION['nome3'] = $_GET['nome3'];
    $_SESSION['cognome3'] = $_GET['cognome3'];

    $nome1 = $_SESSION['nome1'];
    $cognome1 = $_SESSION['cognome1'];

    $nome2 = $_SESSION['nome2'];
    $cognome2 = $_SESSION['cognome2'];

    $nome3 = $_SESSION['nome3'];
    $cognome3 = $_SESSION['cognome3'];


    $nick = $_SESSION['username'];


    echo "Benvenuto " . $nick . " ecco i dati che hai inserito:

    ";
    echo $nome1 ." " . $cognome1 . "
    " . $nome2 . " " . $cognome2 . "
    " . $nome3 . " " . $cognome3;

    ?>



    il risultato con i dati che ho inserito io sono:
    Benvenuto jonathan1 ecco i dati che hai inserito:

    eros ramazzotti
    tiziano ferro
    ivana spagna


    Ovviamente tu puoi sostituire gli echo con un collegamento al database e l'inserimento dei dati.

    Fammi sapere

  9. #9
    ciao. grazie del codice.
    l'ho provato e funziona perfettamente.

    ho provato ad adattarci il mio ma non riesco a farlo andare...
    il mio step 1 va bene:


    <?php
    session_start();
    ?>

    <html>
    <head>
    <title>Step1</title>
    </head>
    <body>
    <form action="step2.php" method="GET">
    <p align="center">
    <p align="center">user:
    <select name='user'>
    <option value='0' selected></option>
    <option value='cientifico'>cientifico</option>
    <option value='partecipante experimento'>participante experimento</option>
    </select>
    <p align="center">
    gender: <select name='gender'>
    <option value='0' selected></option>
    <option value='male'>male</option>
    <option value='female'>female</option>
    </select>

    <p align="center">
    <td align="center" valign=center>

    date of birth


    <select size="1" name="year">
    <option value="0">year</option>

    <option value="2004">2004</option>
    <option value="2003">2003</option>
    <option value="2002">2002</option>
    <option value="2001">2001</option>
    <option value="2000">2000</option>
    <option value="1999">1999</option>
    <option
    ...

    </select>

    <select size="1" name="month" >
    <option value="0">month</option>


    <option value="01">1</option>
    <option value="02">2</option>
    ...
    </SELECT>

    <select size="1" name="day" >
    <option value="0">day</option>


    <option value="01">1</option>
    <option value="02">2</option>
    ....
    </SELECT>

    <p align="center">
    country: <select name='country'>
    <option value= selected></option>
    <option value='AF'>Afghanistan</option>
    <option value='AL'>Albania</option>
    <option value='DZ'>Algeria</option>
    ..........
    </select>


    <input type="submit" name="submit" value="Vai a Step2"></p>

    </form>
    </body>
    </html>


    lo step 2 anche:

    <?php
    session_start();
    ?>

    <html>
    <head>
    <title>Step2</title>
    </head>


    <body>

    <form action="step3.php" method="GET">


    <fieldset>




    <font size="+4"> <legend> test activacione foto1</legend>






    <font size="+2"> me relaja mucho<input type="radio" name="linguaggio" value="1"/>


    me relaja algo<input type="radio" name="linguaggio" value="2"/>


    ni me relaja ni me activa<input type="radio" name="linguaggio" value="3"/>

    me activa algo<input type="radio" name="linguaggio" value="4"/>

    me activa mucho<input type="radio" name="linguaggio" value="5"/>






    </fieldset>


    <input type="submit" name="step" value="Vai a Step3"></p>

    </form>

    <?php

    $_SESSION['user'] = $_GET['user'];
    $_SESSION['gender'] = $_GET['gender'];
    $_SESSION['year'] = $_GET['year'];
    $_SESSION['month'] = $_GET['month'];
    $_SESSION['day'] = $_GET['day'];
    $_SESSION['country'] = $_GET['country'];


    ?>

    </body>
    </html>



    lo step 3 no...


    <?php
    session_start();
    ?>

    <html>
    <head>
    <title>Step3</title>
    </head>
    <body>
    <form action="salvastep.php" method="GET">
    <fieldset>




    <font size="+4"> <legend>; test activacione foto1</legend>
    <font size="+2"> me relaja mucho<input type="radio" name="linguaggio" value="1"/>;
    me relaja algo<input type="radio" name="linguaggio" value="2"/>;
    ni me relaja ni me activa<input type="radio" name="linguaggio" value="3"/>
    me activa algo<input type="radio" name="linguaggio" value="4"/>
    me activa mucho<input type="radio" name="linguaggio" value="5"/>
    </fieldset>


    <input type="submit" name="step3" value="Vai alla pagina dei dati"></p>
    </form>
    <?php
    $_SESSION['activacione1'] = $_GET['activacione1'];
    ?>
    </body>
    </html>


    DICE:
    Notice: Undefined index: activacione1 in c:\programmi\easyphp1-8\www\step3.php on line 47


    ovvero questa:

    <?php
    $_SESSION['activacione1'] = $_GET['activacione1'];
    ?>


    come mai?

    poi nella mia cartella dove salvo i dati della sessione non appare nulla, non dovrebbe apparire il cookie?

    ciao

  10. #10
    No non deve esserci nessun cookie e poi tu crei la sessione non un cookie, scusa ma questo dato: $_GET['activacione1']; da dove l'hai preso? non lo vedo.

    Ciao!

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.