passaggio session

Ho 2 tabelle A-B composte da un campo in comune idA,inoltre nella tabella B c'e' un'altro campo che a me interessa che ho chiamato idB

<?php session_start();

$_SESSION['a1'] = $_POST['a1'];

$_SESSION['b1'] = $_POST['b1'];

require_once('Connections/prova.php');  ?>

<?php

mysql_select_db($database_agriturismo, $agriturismo);

$query_Recordset1 = "SELECT * FROM A,B WHERE A.idA = '$cli' AND B.idA='$cli'";

$Recordset1 = mysql_query($query_Recordset1, $agriturismo) or die(mysql_error());

$row_Recordset1 = mysql_fetch_assoc($Recordset1);

$totalRows_Recordset1 = mysql_num_rows($Recordset1);

$a1=$row_Recordset1['idA'];

$b1=$row_Recordset1['idB'];

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Documento senza titolo</title>

</head>

<body>

<p>&nbsp;</p>

<table width="200" border="1">

  <?php do { ?>

    <tr>

      <td><?php echo $a1;?>&nbsp;</td>

      <td><?php echo $b1;?></td>

      <td><form id="form1" name="form1" method="post" action="carica.php">

          <input name="hiddenField" type="hidden" value="<?php echo $a1;?>" />

          <input name="hiddenField2" type="hidden" value="<?php echo $b1;?>" />

          <label>

          <input type="submit" name="Submit" value="Invia" />

          </label>

        </form></td>

    </tr>

    <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

</table>

<p>&nbsp;</p>

</body>

</html>

<?php

mysql_free_result($Recordset1);

?>

Mi estrae dalle tue tabelle $a1=$row_Recordset1['idA']; e $b1=$row_Recordset1['idB'];

inoltre nell'ultima colonna ho un form con 2 campi nascosti (con echo $a1 e $a2) e un pulsante.

Il form punta alla pagina carica.php dove qui ho solamente messo 2 echo come proova

<?php session_start();

echo $a1;  echo $b1;

?>

La tabella è dentro un'area ripetuta e se nel database ho più record con uguale '$cli'

mi vengono mostrati più record,con idA uguali per tutti mentre idB varia per tutti.

supponiamo che abbia 3 record ID adesso clikko sul pulsante del secondo e passo alla pagina prova.php dove dovrei visualizzare le session riferite al form del pulsante,invece mi visualizza le session dell'ultimo form che equivalgono l'ultimo record id inserito nel database.

Come faccio a portarmi dietro  le sessioni riferite solo al pulsante che premo?

 :bye:

inviato 9 anni fa
leoneweb
X 0 X

In sessione salvi dei dati che non sono legati al pulsante premuto ma che hai assegnato all'inizio dello script. Se vuoi recuperare il valore dei campi nascosti del form devi usare $_POST['hiddenField'] e $_POST['hiddenField2'].

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

grazie

 :bye:

risposto 9 anni fa
leoneweb
X 0 X

C'è anche un altro problemino legato alla sicurezza, passare i valori di sessione tramite get o post è già una buona spallata alla sicurezza, ma tant'è che poco si può fare, ma addirittura inviarle tramite campi nascosti è da incoscienti :)

Basterebbe ripensare alle tante cose comprate su ebay al costo di un dollaro fino a quando mantenevano i valori delle aste nei campi nascosti della pagina html.

In pratica basta salvare la pagina sul proprio disco, modificarla e ricaricarla nel proprio browser, in precedenza mai chiuso, per rilanciare valori arbitrari dentro i campi hidden.

In casi come questi varrebbe la pensa di salvarli in qualche file temporanei per essere recuperati poi con calma.

Scusa ma sono un patito della sicurezza :)

risposto 9 anni fa
Marco Grazia
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda