- Home
- Categorie
- Coding e Sistemistica
- PHP
- problema con easyphp e variabili post
-
Ciao jackfolla
per capire dove sta il problema forse è il caso che posti il form e la pagina che dovrebbe recuperarti i dati. Puoi comunque dare un occhio alle FAQ, verso la fine c'è quanto serve, magari ti è semplicemente scappato qualcosa
-
questo e il codice hml del form:
<form action="<?php echo $editFormAction; ?>" method="POST" name="formData" id="formData" onSubmit="validate();return returnVal;" target="_self" >
<div align="center">
<table width="37%" border="0" align="center">
<tr>
<td width="224" align="right" valign="baseline" nowrap="nowrap"><div align="right"> Incoming Number:</div></td>
<td width="194"><div align="left">
<input type="text" name="NUM_BOLLA" value="" size="32" />
</div></td>
</tr>
<tr>
<td align="right" valign="baseline" nowrap="nowrap"><div align="right">Incoming Date:</div></td><td><div align="left"> <input type="text" name="data1" readonly="readonly" value="" /> <a href="javascript:show_calendar('document.formData.data1', document.formData.data1.value);"> <img src="Scripts/cal.gif" width="16" height="16" border="0" alt="Seleziona la data" /></a></div></td> </tr> <tr> <td align="right" valign="baseline" nowrap="nowrap"><div align="right">Proforma Invoice/Delivery Note:</div></td> <td><div align="left"><a href="javascript:show_calendar('document.formData.data1', document.formData.data1.value);"> </a> <input type="text" name="NUM_DDT" value="" size="32" />
</div></td>
</tr>
<tr>
<td align="right" valign="baseline" nowrap="nowrap"><div align="right">Delivery Date:</div></td>
<td><div align="left">
<input type="text" name="data2" readonly="readonly" value="" />
<a href="javascript:show_calendar('document.formData.data2', document.formData.data2.value);"><img src="Scripts/cal.gif" width="16" height="16" border="0" alt="Seleziona la data" /></a></div></td>
</tr>
<tr>
<td align="right" valign="baseline" nowrap="nowrap"><div align="right">Forwarder:</div></td>
<td><div align="left">
<label>
<select name="sel_carrier" id="select">
<option value="NULL"></option>
<?php
do {
?>
<option value="<?php echo $row_CARRIER['ID_CARRIER']?>"><?php echo $row_CARRIER['ID_CARRIER']?></option>
<?php
} while ($row_CARRIER = mysql_fetch_assoc($CARRIER));
$rows = mysql_num_rows($CARRIER);
if($rows > 0) {
mysql_data_seek($CARRIER, 0);
$row_CARRIER = mysql_fetch_assoc($CARRIER);
}
?>
</select>
</label>
<a href="New_Carrier.php" target="_top">New Carrier</a></div></td>
</tr>
<tr>
<td align="right" valign="baseline" nowrap="nowrap"><div align="right">Tracking Number(AWB):</div></td>
<td><div align="left">
<input type="text" name="TRACK_NUM" value="" size="32" />
</div></td>
</tr>
<tr>
<td align="right" valign="baseline" nowrap="nowrap"><div align="right">Clients Id:</div></td>
<td><div align="left">
<select name="CLIENTS_ID">
<option value="NULL"></option>
<?php
do {
?>
<option value="<?php echo $row_CLIENTS['ID']?>"><?php echo $row_CLIENTS['ID']?></option>
<?php
} while ($row_CLIENTS = mysql_fetch_assoc($CLIENTS));
$rows = mysql_num_rows($CLIENTS);
if($rows > 0) {
mysql_data_seek($CLIENTS, 0);
$row_CLIENTS = mysql_fetch_assoc($CLIENTS);
}
?>
</select>
<a href="New_Clients.php">New Clients</a></div></td>
</tr>
<tr>
<td align="right" valign="baseline" nowrap="nowrap"><div align="right">Causal:</div></td>
<td><div align="left">
<input type="text" name="CAUSAL" value="" size="32" />
</div></td>
</tr>
</table>
</div>
<p align="center"> </p>
<p align="center">
<label>
<input type="submit" name="button" id="button" value="Insert Data" />
</label>
<label>
<input type="reset" name="button2" id="button2" value="Ripristina Modulo" />
</label>
<label>
<input type="button" name="button3" id="button3" value="Anterprima" onClick="affichage();"/>
</label>
</p>
<div align="center"> </div>
<input type="hidden" name="MM_insert" value="formData" />
</form>
e il relativo codice php per inviare i dati a mysql:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formData")) {
$insertSQL = sprintf("INSERT INTO shipping_document_in (NUM_BOLLA, DATA_BOLLA, NUM_DDT, DATA_DDT, CARRIER, TRACK_NUM, SENDER_ID, CAUSAL, DATA_REG) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['NUM_BOLLA'], "text"),
GetSQLValueString($_POST['data1'], "date"),
GetSQLValueString($_POST['NUM_DDT'], "text"),
GetSQLValueString($_POST['data2'], "date"),
GetSQLValueString($_POST['sel_carrier'], "text"),
GetSQLValueString($_POST['TRACK_NUM'], "text"),
GetSQLValueString($_POST['CLIENTS_ID'], "text"),
GetSQLValueString($_POST['CAUSAL'], "text"),
GetSQLValueString($_POST['data1'], "date"));
mysql_select_db($database_miaconnessione, $miaconnessione);
$Result1 = mysql_query($insertSQL, $miaconnessione) or die(mysql_error());
$insertGoTo = "carico_item.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
}
e questa e la pagina dove voglio recuperare la variabile num bolla:
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$colname_Recordset1 = "-1";
if (isset($_POST['NUM_BOLLA'])) {
$colname_Recordset1 = $_POST['NUM_BOLLA'];
}
mysql_select_db($database_miaconnessione, $miaconnessione);
$query_Recordset1 = sprintf("SELECT * FROM shipping_document_in WHERE NUM_BOLLA = %s", GetSQLValueString($colname_Recordset1, "text"));
$Recordset1 = mysql_query($query_Recordset1, $miaconnessione) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<? $data_oggi = date("d/m/Y H:i:s");?>
<? $updateSQL=("UPDATE shipping_document_in
SET DATA_REG = '$data_oggi' ");
mysql_select_db($database_miaconnessione, $miaconnessione);
$Result1 = mysql_query($updateSQL, $miaconnessione) or die(mysql_error());
?>
-
forse è un po incasinato?
-
Effettivamente si, dovresti racchiudere le varie pagine tra i tag [php ] e [/php] anche per evitare post chilometrici....e per rendere più leggibile il tutto
Così dando un occhiata veloce mi viene da chiederti:
il form punta alla pagina che scrive sul Db giusto?
se si, da quest'ultima pagina come passi i dati all'altra pagina dove vuoi recuperare NUM_BOLLA?
-
mi spiego meglio:
il form che vedi con il reativo codice php l'ho salvato in new_incoming.php
nello script php per l'inserimento ho scritto che dopo tale deve andare alla pagina carico_item.php.
e li che mi trovo le variabili e le posso recupeare o sbaglio?
-
Il form invia i dati inseriti alla pagina individuata dall'action
<form action="<?php echo $editFormAction; ?>"
che è la pagina che scrive sul Db...se tu poi headeri e vai su un'altra pagina, senza portarti dietro i valori, non potrai recuperarli ovviamente.
dovrai aggiungere all'url dell'header il valore di NUM_BOLLA
[php]
$NUM_BOLLA=$_POST['NUM_BOLLA'];
url?NUM_BOLLA=$NUM_BOLLA;
[/php]
e poi ti recuperi nella terza pagina il valore di NUM_BOLLA tramite la variabile $_GET
[php]$NUM_BOLLA=$_GET['NUM_BOLLA'];[/php]
-
vediamo se ho capito:
$insertGoTo = "carico_item.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
$NUM_BOLLA=$_POST['NUM_BOLLA'];}
header(sprintf("Location: %s", $insertGoTo,$NUM_BOLLA));
}
questo nella pagina dove invio il form?e poi nella pagina che ho chiamato carico_item mi recupero la variabile
?
ho provato ma mi dice sempre che non e definita.
-
Alura
faccio un riepilogo che forse sono entrato in confusione XD
Vado in via teorica, il discorso è questo, mettiamo che i file siano:
form.php (file che contiene il form)
insertdb.php (file che scrive su Db)
bolla.php (il file dove devi recuperare il numero della bolla, ma non ti riesce)Facendo submit nel form della pagina form.php (che in action avrà insertdb.php) ti si apre la pagina insertdb.php alla quale posti gli input del form.
Si esegue lo script, ovvero i dati vengono inseriti nel Db, ed alla fine fai un header alla pagina bolla.php
[php]header("Location:bolla.php");[/php]
la faccio semplice..... ma credo di aver capito questoSe la situazione è questa non dovrai far altro che variare il tuo header nel seguente modo:
[php]$NUM_BOLLA=$_POST['NUM_BOLLA'];
header("Location:bolla.php?NUM_BOLLA=".$NUM_BOLLA."");[/php]
a questo punto per recuperare il valore di NUM_BOLLA nella pagina bolla.php basterà fare:
[php]$NUM_BOLLA=$_GET['NUM_BOLLA'];[/php]
Spero di aver capito
-
si l'unica cosa e che io ho il form e lo script per l'invio dei dati al db nella stessa pagina php che si chiama new_incoming.php
da qui faccio l'header all pagina carico_item
quindi ho una pagina in meno,credo che sia la stessa cosa dovrebbe funzionare lo stesso inserendo nell' header le variabili che voglio recuperare?
-
Bene, avevo capito malissimo
la stanchezza si fa sentire >.>
chiedo venia ç_çcomunque si, il metodo per passare i tuoi dati a carico_item.php è sempre quello, devi modificare il tuo header in modo che l'url sia carico_item.php?NUM_BOLLA=xyz
-
sei stato gentilissimo
grazie
domani provero
anche io sono un po stanco
-
Di nulla, facci sapere se risolvi
-
che bello funge!
-
Great !!