• User Attivo

    Variabili di sessioni

    Buonasera a tutti, ho un problema con le sessioni, non le ho mail usate, ma visto che servono è giusto saperle.
    In realtà ho 2 problemi, vi espongo il primo per adesso
    Vorrei recuperare i dati da una select box, vi posto il codice
    [php]
    <?php session_start();?>
    <?php
    require '../connessione/Config.php';
    require '../connessione/Connect.php';
    echo"<form method='post' action='script/add_articolo.php'>";
    echo "la marca è <b>:".$_SESSION["cognome"]."</b>";
    echo"
    <table cellpadding='0' cellspacing='0' border='0' bordercolor='#F59F0B'>
    <tr>
    <td width='10'></td>
    <td align='left' valign='top' height='15' class='font_2'>Marca</td>
    <td width='10'></td>
    <td align='left' valign='top' height='15' class='font_2'>Modello</td>
    </tr>
    <tr>
    <td width='10' height='30'></td>
    <td align='left' valign='top'>";
    // il problema è qua---------------------------------------
    $query_marche=mysql_query("Select * From marche")
    or die("errore nella query_marche;".mysql_error());
    $estr_marca=mysql_fetch_assoc($query_marche);
    $_SESSION['descr']=$estr_marca['decrizione_marca']";
    echo"<select name='marca' class='select_1'>";
    echo"
    <option value='".$_SESSION["cognome"]."'>
    ".$_SESSION['descr']."
    </option>";
    //---------------------------------------------------------

    for($a=0; $a<mysql_num_rows($query_marche);$a++)
    {
    $a_elenco_marche=mysql_fetch_assoc($query_marche);
    print"
    <option value='".intval($a_elenco_marche['id_marca'])."'>
    ".$a_elenco_marche['descrizione_marca']."
    </option>";
    }
    echo"</select>";

    echo"
    </td>
    <td width='10'></td>";
    echo"
    <td align='left' valign='top'>
    <input type='text' name='modello' class='input_text_1' value='".$_SESSION['nome']."' />
    </td>";
    echo"
    <td width='10'></td>
    </tr>
    </table>
    [/php]
    pagina add_articolo.php
    [php]
    <?php
    session_start();
    $_SESSION['cognome']=$_POST['marca'];
    $_SESSION['nome']=$_POST['modello'];
    header('location:' . '../prova.php');
    ?>
    [/php]
    Il problema è che in $_SESSION['descr']; non ho la marca che ho scelto, come mai?
    Grazie


  • User Attivo

    Grazie per nnon avermi ancora risposto, basta un poco di impegno
    RISOLTO
    [PHP]
    $query_marche=mysql_query("Select * From marche WHERE id_marca='$_SESSION[cognome]'")
    or die("errore nella query_marche;".mysql_error());
    $estr_marca=mysql_fetch_assoc($query_marche);
    echo"<select name='marca' class='select_1'>";
    echo"
    <option value='".$_SESSION["cognome"]."'>
    ".$estr_marca['descrizione_marca']."
    </option>";
    [/PHP]

    Ci sentiamo al prossimo problema
    Ciao da danny


  • User

    Ciao, su questa riga
    [PHP]$_SESSION['descr']=$estr_marca['decrizione_marca']";[/PHP]

    c'è un doppio apice di troppo ... non mi tornavano i colori delle istruzioni php ...


  • User Attivo

    @Cyrus said:

    Ciao, su questa riga
    [php]$_SESSION['descr']=$estr_marca['decrizione_marca']";[/php]

    c'è un doppio apice di troppo ... non mi tornavano i colori delle istruzioni php ...

    Ciao, è vero, ma comunque quella riga non conta per cosa volevo fare

    Ciao da danny


  • User Attivo

    Ciao a tutti, vi avevo anticipato un secondo problema, ed infatti non sono riuscito a risolverlo, allora ho delle checkbox e vorrei fare la stessa cosa che ho fatto con la select,
    prova.php
    [PHP]
    if(isset($_SESSION['access']))
    {$_SESSION['access']=$_SESSION['access'];}
    else
    {$_SESSION['access']='';}

    <td align='left' valign='top' height='15'>";
    $a_optional=array('Abs', 'Esp', 'Airbag guidatore', 'Airbag passeggero', 'Airbag laterale', 'Fendinebbia');
    $lungh_array= count($a_optional);
    $riga=1;
    echo"<table cellpadding='0' cellspacing='0' border='0' bordercolor='#23D527'>";
    for($n=0; $n<$lungh_array; $n++)
    {
    if($riga == 1)
    {
    print"<tr>";
    }
    print"
    <td width='200' class='font_8'>
    <input type='checkbox' name='$n' value='".$_SESSION['access']."'>$a_optional
    </td>";
    $riga++;
    if($riga > 3)
    {
    print"</tr>";
    $riga=1;
    }
    }
    echo"</table>
    </td>
    [/PHP]
    add_articolo.php
    [PHP]
    $a_nome_optional=array('Abs', 'Esp', 'Airbag guidatore', 'Airbag passeggero', 'Airbag laterale', 'Fendinebbia');
    $num_optional=count($a_nome_optional);
    for($cont=0; $cont<$num_optional; $cont++)
    {
    if(isset($_POST[$cont]))
    {
    $a_accessori[]=$a_nome_optional[$cont];
    }
    }
    if(!isset($a_accessori))
    {
    $accessori = '';
    }
    else
    {
    $accessori = implode(',', $a_accessori);
    }
    $_SESSION['access']=$accessori;
    header('location:' . '../prova.php');
    [/PHP]
    voglio dire agli esperti che non lo mai fatta una cosa del genere, con la select e la input è andata bene, ma con la check non ho idea
    Grazie da danny


  • User

    Ciao, nella sesta riga c'è sempre un doppio apice di troppo: non è che sia quello che ti mandi in pappa tutto il tuo script?


  • User Attivo

    @Cyrus said:

    Ciao, nella sesta riga c'è sempre un doppio apice di troppo: non è che sia quello che ti mandi in pappa tutto il tuo script?

    Ciao, parli di questa riga
    [PHP]<td align='left' valign='top' height='15'>";[/PHP]
    dietro c'è un ```
    echo"

    non ho scritto tutto, ma solo la parte dinamica che riguarda la check, pensavo che il trattamento fosse uguale alla select, invece penso proprio di no.
    Ciao

  • User

    Per controllare cosa ti viene passato dal form, nella pagina di destinazione, inserisci il seguente codice

    [PHP]<pre>
    $_POST = <?php print_r($_POST); ?>
    </pre>[/PHP]


  • User Attivo

    Ciao Cyrus, una buona idea a far stampare ciò che gli passo, il risultato è positivo, sia la pagina che riceve, sia nella pagina di ritorno, cioè quella dove dovrebbe mantenere la sessione, infatti facendo nella pagina prova.php
    [PHP]
    print $_SESSION['access'];
    [/PHP]
    mi stampa i valori che io ho chekkato, il problema secondo me sta qua
    [PHP]
    <td width='200' class='font_8'>
    <input type='checkbox' name='$n' value='".$_SESSION['access']."'>$a_optional
    </td>";
    [/PHP]
    avrò fatto qualche errore di sintassi
    Grazie da danny


  • User Attivo

    Ciao, ho provato così, ma li chekka tutti, però è già una cosa
    [php]<td width='200' class='font_8'>
    <input type='checkbox' name='$n' value='".$_SESSION['access']."'
    checked='".$_SESSION['access']."'>$a_optional
    </td>";[/php]

    Danny


  • User Attivo

    Ciao ragazzi qualche consiglio per uscirne

    Ciao da danny