Visualizzazione risultati 1 fino 9 di 9

Discussione: Problema con una sessione

  1. #1
    Guest

    Predefinito Problema con una sessione

    Salve a tutti,
    ho un problemino con una sessione di PHP

    in poche parole...
    io estraggo tramite una query 3 dati da un db (id, url, voti), salo i dati in una sessione...ma quando vado a richiamare quest'ultima le variabili nelle quali li ho salvato i dati risultano vuote...

    potreste aiutarmi a capire che succede? grazie in anticipo.

    pagina dove estraggo le variabili dal db e le visualizzo a video tramite echo:
    Codice PHP:
    <form name="soggetto" action="interrogazione.php" method="post">

    <?php
    $link
    = mysql_connect('localhost', '', '')
    or die(
    'Could not connect: ' . mysql_error());
    mysql_select_db('my_facemashfabio') or die('impossibile selezionare il database database');


    $query="SELECT * FROM utenti_votabili WHERE id!='".$id."' ORDER BY RAND () LIMIT 0,1; ";
    $risultato = mysql_query($query) or die('Query fallita: ' . mysql_error());
    $num_rows = mysql_num_rows($risultato);



    $rigaArrayRicerca = mysql_fetch_array($risultato);

    $id=$rigaArrayRicerca[id];
    $_SESSION['id']=$id;
    $url=$rigaArrayRicerca[url];
    $_SESSION['url']=$url;
    $voti=$rigaArrayRicerca[voti];
    $_SESSION['voti']=$voti;
    ?>





    <table width="90%" border="0">
    <tr align="left" valign="middle">
    <td>ID: <?php echo $id ?></td>
    </tr>
    <tr align="left" valign="middle">
    <td><?php echo "<img src='http://facemashfabio.altervista.org/votazioni/immagini/".$url."'";?></td>
    </tr>
    <tr align="left" valign="middle">
    <td><?php echo $voti; ?></td>
    </tr>
    <tr align="left" valign="middle">
    <td><input name="pulsante2" type="submit" id="pulsante2" formaction="interrogazione.php" formmethod="POST" value="vai!"></td>
    </tr>
    </table>
    </form>

    pagina di interrogazione dove le variabili risultano vuote:
    Codice PHP:
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Documento senza titolo</title>
    </head>

    <body>
    <?php
    session_start
    ();


    $id=$_SESSION['id'];
    $voti=$_SESSION['voti'];
    $url=$_SESSIN['url'];


    echo
    "foto: ";
    echo
    $url;
    echo
    "<br>";
    echo
    "id: ";
    echo
    $id;
    echo
    "<br>";
    echo
    "voti: ";
    echo
    $voti;



    ?>
    </body>
    </html>

    nella prima pagina ho provato anche a sostituire la stringa di arrey con mysql_result ma nulla da fare :(

  2. #2
    Guest

    Predefinito

    Quando operi con le sessioni, devi specificarlo all'inizio del tuo codice, prima di ogni tipo di output :)

  3. #3
    Guest

    Predefinito

    grazie mille :)
    adesso però correggendo l'errore...mi è nato un secondo problema...
    prima avevo postato solo una parte della pagina...questa è quella intera:
    (pagina 1)
    Codice PHP:
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Documento senza titolo</title>
    </head>

    <body>
    <table width="100%" border="0" align="center">
    <tr>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td><table width="90%" border="0" align="center">
    <tr align="center" valign="middle">
    <td>
    <form name="soggetto" action="interrogazione.php" method="post">
    <?php
    session_start
    ();

    $link = mysql_connect('localhost', '', '')
    or die(
    'Could not connect: ' . mysql_error());
    mysql_select_db('my_facemashfabio') or die('impossibile selezionare il database database');


    $query="SELECT * FROM utenti_votabili ORDER BY RAND () LIMIT 0,1;";
    $risultato = mysql_query($query) or die('Query fallita: ' . mysql_error());
    $num_rows = mysql_num_rows($risultato);



    $url=mysql_result($risultato,0,'url');
    $_SESSION['url']=$url;

    $id=mysql_result($risultato,0,'id');
    $_SESSION['id']=$id;

    $voti=mysql_result($risultato,0,'voti');
    $_SESSION['voti']=$voti;

    ?>

    <table width="90%" border="0">
    <tr align="left" valign="middle">
    <td>ID: <?php echo $id ?></td>
    </tr>
    <tr align="left" valign="middle">
    <td><?php echo "<img src='http://facemashfabio.altervista.org/votazioni/immagini/".$url."'";?></td>
    </tr>
    <tr align="left" valign="middle">
    <td>VOTI: <?php echo $voti; ?></td>
    </tr>
    <tr align="left" valign="middle">
    <td><input name="pulsante" type="submit" id="pulsante" formaction="interrogazione.php" formmethod="POST" value="vai!"></td>
    </tr>
    </table>
    </form>
    </td>
    <td> <form name="soggetto" action="interrogazione.php" method="post">

    <?php
    $link
    = mysql_connect('localhost', '', '')
    or die(
    'Could not connect: ' . mysql_error());
    mysql_select_db('my_facemashfabio') or die('impossibile selezionare il database database');


    $query="SELECT * FROM utenti_votabili WHERE id!='".$id."' ORDER BY RAND () LIMIT 0,1; ";
    $risultato = mysql_query($query) or die('Query fallita: ' . mysql_error());
    $num_rows = mysql_num_rows($risultato);



    $rigaArrayRicerca = mysql_fetch_array($risultato);

    $id=$rigaArrayRicerca[id];
    $_SESSION['id']=$id;
    $url=$rigaArrayRicerca[url];
    $_SESSION['url']=$url;
    $voti=$rigaArrayRicerca[voti];
    $_SESSION['voti']=$voti;
    ?>





    <table width="90%" border="0">
    <tr align="left" valign="middle">
    <td>ID: <?php echo $id ?></td>
    </tr>
    <tr align="left" valign="middle">
    <td><?php echo "<img src='http://facemashfabio.altervista.org/votazioni/immagini/".$url."'";?></td>
    </tr>
    <tr align="left" valign="middle">
    <td><?php echo $voti; ?></td>
    </tr>
    <tr align="left" valign="middle">
    <td><input name="pulsante2" type="submit" id="pulsante2" formaction="interrogazione.php" formmethod="POST" value="vai!"></td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td>

    </td>
    </tr>
    </table>
    </body>
    </html>

    il problema sta nel fatto che alla pagina di interrogazione mi arrivano le variabili della seconda tabella...questo perchè esse hanno lo stesso nome di quelle della prima...

    ho modo di dividere le due cose?
    cioè se l'utente preme il pulsante della colonna di destra vengono inviate le credenziali in essa contenute e la stessa cosa con la tabella di sinistra? (come puoi già vedere dal codice le variabili sono già contenute in due form )

  4. #4
    Guest

    Predefinito

    ti metto il link della pagina così puoi capire meglio: http://facemashfabio.altervista.org/votazioni/

  5. #5
    Guest

    Predefinito

    Basta fare una cosa simile:
    Codice PHP:
    if(isset($_POST['pulsante'])){
    echo
    'Premuto il primo form!';
    }
    if(isset(
    $_POST['pulsante2'])){
    echo
    'Premuto il secondo form!';
    }

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da mathis Visualizza messaggio
    Basta fare una cosa simile:
    Codice PHP:
    if(isset($_POST['pulsante'])){
    echo
    'Premuto il primo form!';
    }
    if(isset(
    $_POST['pulsante2'])){
    echo
    'Premuto il secondo form!';
    }
    questo posizionato nella pagina di interrogazione giusto?

    ok il riconoscimento del form che invia i dati funziona alla grande...ma per la gestione delle variabili (che si sovrascrivono l'ula all'altra come faccio? perchè...anche facendo come hai suggerito tu vengono inviate sempre e comunque le variabili del 2° form
    se io rinomino queste non capisco il perchè mi si "aanulla" la seconda query di conseguenza i due risultati non sono più diversi ma uguali...vedi qui
    Ultima modifica di facemashfabio : 24-02-2014 alle ore 19.23.50

  7. #7
    Guest

    Predefinito

    CEL'HO FATTA!!!!


    mi è venuta una curiosità....se volessi sostituire il click del pulsante con il click sulla foto stessa...sarebbe tanto complesso?
    grazie mille :)
    Ultima modifica di facemashfabio : 24-02-2014 alle ore 20.06.06

  8. #8
    Guest

    Predefinito

    No, non più di tanto.
    La soluzione credo più semplice sia utilizzare il metodo GET e fare una cosa del tipo:
    <a href="./?immagine=IDIMMAGINE"><img src="#"/></a>

    e poi controlli il valore di $_GET['immagine'] :)

  9. #9
    Guest

    Predefinito

    ah ok... :)

    sono registrato nel tuo sito da un po' di tempo =)

    ne approfitto per chiederti un'altra cosa....vedi questo altro topik :) vedi qui :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •