- Home
- Categorie
- Coding e Sistemistica
- PHP
- Variabili di sessioni
-
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
-
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
-
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 ...
-
@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
-
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
-
Ciao, nella sesta riga c'è sempre un doppio apice di troppo: non è che sia quello che ti mandi in pappa tutto il tuo script?
-
@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
-
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]
-
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
-
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
-
Ciao ragazzi qualche consiglio per uscirne
Ciao da danny