Esiste un'alternativa al codice header("refresh:5 url=srvrq3.php");
Perche' nella pagina srvrq2.php imposto delle variabili e vorrei passarle alla srvrq3 senza che si schiacci un tasto ma con refresh, solo che con il refresh perdo le variabili?
Esiste un'alternativa al codice header("refresh:5 url=srvrq3.php");
Perche' nella pagina srvrq2.php imposto delle variabili e vorrei passarle alla srvrq3 senza che si schiacci un tasto ma con refresh, solo che con il refresh perdo le variabili?
non puoi salvare le variabili in sessione?
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Inanzitutto grazie per aver risposto.
Non so come fare, ti spiego cosa ho bisogno la prima pagina srvrq1.php serve per mettere
la username e password (io volevo fare un sql direttamente dentro questa ma dopo aver messo i dati non riesco a gestirli) quindi reperisco i dati che messo nella pagina srvrq2.php
e qua dentro faccio un sql con i dati che reperito e se riesce l'sql devo chiamare la pagina srvrq3.php.
Io stavo provando a farlo cosi'
$sql = "select *
from ACSSI_DAT.CLSSI00F
WHERE CLSUSR = '".$customerCLSUSR."'
AND CLSPSW = '".$customerCLSPSW."' ";
$stmt = db2_exec($dbh, $sql, array('cursor' => DB2_SCROLLABLE));
$row = db2_fetch_array($stmt);
/* Ciclo di lettura dei dati estratti e stampa */
if (!$row=="") {
$customerCLSCLI = $row[7];
print '<input type=hidden name="customerCLSCLI" value="'.$customerCLSCLI.'" />';
?>
<Body onload=location.href="srvrq3.php?&customerCLSCLI=< ?php echo($customerCLSCLI);?>">
Solo che cosi' non funziona il body onload, non li piace il valore dentro le parentesi.
Mi sai dare un consiglio per fare questi passaggi
Grazie
Nella pagina dove recuperi i dati del post del form (non ha importanza che sia la stessa o una pagina diversa) fai:
A questo punto fai il refresh (via header PHP se non hai prodotto output HTML oppure scrivi il metatag HTML) verso la nuova pagina (3)codice:<?php session_start(); //tutto il resto del tuo script per raccattare i dati //salviamo i dati che vuoi "propagare" in sessione: ripeti per ogni variabile che ti interessa. //NB: non è che l'indice della $_SESSION debba avere il nome della variabile che vi vai //a salvare, è solo per comodità. $_SESSION['nomeVARIABILEDASALVARE'] = $variabileDASALVARE; //da ripetere per quante variabili vuoi propagare ?>
Nella pagina3 avrai
Penso che comunque ci sia un tutorial sull'utilizzo delle sessioni (dettagliato) anche qui su html.itcodice:<?php session_start(); //da questo momento in poi, l'array $_SESSION è utilizzabile in questa pagina // per cui potrai tranquillamente accedere a tutti i dati che hai salvato e propagato // dalla pagina (o pagine) precedenti ?>
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Allora se ho capito nella pagina dove ho reperito il cliente (srvrq2.php) metto questo
session_start();
$sql = "select *
from ACSSI_DAT.CLSSI00F
WHERE CLSUSR = '".$customerCLSUSR."'
AND CLSPSW = '".$customerCLSPSW."' ";
$stmt = db2_exec($dbh, $sql, array('cursor' => DB2_SCROLLABLE));
$row = db2_fetch_array($stmt);
/* Ciclo di lettura dei dati estratti e stampa */
if (!$row=="") {
$customerCLSCLI = $row[7];
$_SESSION['customerCLSCLI'] = $customerCLSCLI;
header("refresh:0 url=srvrq3.php");
ma nella terza come gestisco la session, cioe' prima cosa metto session_start();
poi devo fare questo sql
$sql = "select *
from ACSSI_DAT.sercl00f
where sercli = '".$customerSERCLI."'
";
dove ".$customerSERCLI." deve essere impostato con il valore che c'e' nella session.
Come imposto qua dentro $customerSERCLI con il valore che ho nella session?
Ciao
Se hai già scritto montagne di codice, per non rimettere mano a tutto ti conviene fare, dopo il session_start di inizio pagina
$variabileINUSO = $_SESSIN['variabileINUSOINSESSIONE'];
Se invece il codice che hai scritto è poco e puoi "perderci" un po' di tempo a sistemare i nomi di varibili nel codice stesso, al posto di $variabileINUSO nello script ci vai a mettere $_SESSION['variabileINSESSIONE']
Per esempio nel tuo pezzo di codice
O comunque sia valorizzata.codice:<?php $sql = "SELECT * from ACSSI_DAT.sercl00f WHERE sercli = '$_SESSION[customerSERCLI]'"; ?>
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Non mi arriva la variabile, mi dice Echo of dynamically-built sql: select * from ACSSI_DAT.sercl00f where sercli = ''
Posto le due pagine:
<html>
<?php
/* Apertura connessione al database*/
include("connection.inc");
session_start();
/* Reperimento variabile passata dal chiamante */
$customerCLSUSR = $_POST["customerCLSUSR"];
$customerCLSPSW = $_POST["customerCLSPSW"];
/* SQL*/
$sql = "select *
from ACSSI_DAT.CLSSI00F
WHERE CLSUSR = '".$customerCLSUSR."'
AND CLSPSW = '".$customerCLSPSW."' ";
$stmt = db2_exec($dbh, $sql, array('cursor' => DB2_SCROLLABLE));
$row = db2_fetch_array($stmt);
/* Ciclo di lettura dei dati estratti e stampa */
if (!$row=="") {
$customerCLSCLI = $row[7];
$_SESSION['customerCLSCLI'] = $customerCLSCLI;
header("refresh:0 url=srvrq3.php");
}
else {
print "
Cliente errato: ".$customerCLSCLI."</p>";
$error = "1";
header("refresh:10 url=srvrq1.php");
}
?>
</body>
</html>
Mentre la pagina che dovrebbe ricevere la session e' questa
<html>
<?php
session_start();
/* Apertura connessione al database*/
include("connection.inc");
/* Costruzione dello statement SQL da eseguire */
$sql = "select *
from ACSSI_DAT.sercl00f
where sercli = '$_SESSION[customerSERCLI]'";
/* Esecuzione diretta dello stament SQL */
$stmt = db2_exec($dbh, $sql, array('cursor' => DB2_SCROLLABLE));
print '
<table border=1 cellpadding=7 cellspacing=1 bordercolor="#666666">';
?>
<?php
while ($row = db2_fetch_array($stmt)) {
if (!$row=="") {
$customerSERCLI = $row[7];
$customerSERSRN = $row[8];
$customerSERMOD = $row[10];
$customerSERRUO = $row[13];
$customerSERNSP = $row[9];
$customerSERPRO = $row[14];
$customerSERVRS = $row[15];
?>
<tr>
<td align="center">
<?php echo($customerSERCLI);?>
</td>
<td><?php echo($customerSERSRN);?></td>
<td><?php echo($customerSERMOD);?></td>
<td><?php echo($customerSERRUO);?></td>
<td><?php echo($customerSERNSP);?></td>
<td><?php echo($customerSERPRO);?></td>
<td><?php echo($customerSERVRS);?></td>
</tr>
<?php
}
}
print '</table>
';
/* Stampa dello statement SQL eseguito */
print "
Echo of dynamically-built sql: ".$sql."</p>";
print "
cliente: ".$$customerSERCLI."</p>";
?>
</div>
</td>
</tr>
</table>
</body>
</html>
ho sbagliato la sql $sql = "select *
from ACSSI_DAT.sercl00f
where sercli = '$_SESSION[customerSERCLI]'";
Ora funziona grazie mille