Buongiorno a tutti,
ho un problema che magari è stupido ma non riesco a capire dove sbaglio.
ho una pagina con un form, due o tre script che controllano e fanno cose a seconda di quanto viene inserito nei vari campi, dopo di che l'ultimo script manda tutte le variabili a un'altra pagina php, che recupera le variabili _POST.
Tutto normale, tranne che passano i valori di tutte le variabili tranne "posti" che mi rimane misteriosamente vuota.
Naturalmente ho controllato e ricontrollato il nome della variabile, la punteggiatura ecc...
Ecco i codici delle due pagine.
1) la pagina col form:
2) la pagine che riceve (acquista_regalo.php):
Caccia all'errore?
Grazie per l'aiuto. E' due giorni che ci sbatto la faccia e non ne vengo a capo...
ho un problema che magari è stupido ma non riesco a capire dove sbaglio.
ho una pagina con un form, due o tre script che controllano e fanno cose a seconda di quanto viene inserito nei vari campi, dopo di che l'ultimo script manda tutte le variabili a un'altra pagina php, che recupera le variabili _POST.
Tutto normale, tranne che passano i valori di tutte le variabili tranne "posti" che mi rimane misteriosamente vuota.
Naturalmente ho controllato e ricontrollato il nome della variabile, la punteggiatura ecc...
Ecco i codici delle due pagine.
1) la pagina col form:
Codice:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Regala un corso di cucina presso teatro7 | Lab</title>
<link href="backoffice.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
<!--
var q;
function Modulo() {
var nomecliente = document.modulone.nomecliente.value;
var cognomecliente = document.modulone.cognomecliente.value;
var telefono = document.modulone.telefono.value;
var email = document.modulone.email.value;
var pagato = document.modulone.pagato.value;
var decimali = document.modulone.decimali.value;
var decok = "00";
var destinatario = document.modulone.destinatario.value;
var cognomedestinatario = document.modulone.cognomedestinatario.value;
var id_lezione = document.modulone.id_lezione.value;
var posti = document.modulone.postiprenotati.value;
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
if (nomecliente == "") {
alert("Il campo NOME è obbligatorio!");
document.modulone.nomecliente.focus();
return false;
}
if (cognomecliente == "") {
alert("Il campo COGNOME è obbligatorio!");
document.modulone.cognomecliente.focus();
return false;
}
if (pagato == "" || pagato == 0) {
alert("Il campo IMPORTO PAGATO è obbligatorio! SE HAI INSERITO UN CODICE LEZIONE CONTROLLA CHE SIA ESATTO!");
document.modulone.pagato.focus();
return false;
}
if (isNaN(pagato)) {
alert("Nel campo IMPORTO PAGATO devono esserci solo numeri!");
document.modulone.pagato.focus();
return false;
}
if (isNaN(decimali)) {
alert("Nel campo dei decimali devono esserci solo numeri!");
document.modulone.decimali.value = decok;
document.modulone.decimali.select();
return false;
}
if (destinatario == "") {
alert("IDevi inserire sia il nome che il cognome del destinatario del regalo!");
document.modulone.destinatario.focus();
return false;
}
if (cognomedestinatario == "") {
alert("Devi inserire sia il nome che il cognome del destinatario del regalo!");
document.modulone.cognomedestinatario.focus();
return false;
}
if (q) {
posti = q;
};
if (email == "") {
alert("Il campo Email è obbligatorio! Dobbiamo poterti contattare in caso di problemi...");
document.modulone.cognomedestinatario.focus();
return false;
};
if(email) {
if(!email_reg_exp.test(email)) {
alert("ATTENZIONE: La mail inserita non è corretta!");
document.modulone.email.select();
return false;
}
}
document.modulone.action = "acquista_regalo.php";
document.modulone.submit();
}
var prezzolezione;
function nposti() {
q = document.modulone.postiprenotati.value;
document.getElementById("idid").value = prezzolezione * q;
}
function prosegui() {
document.getElementById("asterischi").style.display = "none";
document.getElementById("bottone").style.display = "block";
document.getElementById("bottcontinua").style.display = "none";
}
// QUI GESTISCO LA RICHIESTA ASINCRONA CON AJAX
var xmlhttp;
function prendiprezzo(str) {
xmlhttp = GetXmlHttpObject();
if (xmlhttp == null) {
alert ("Il browser non supporta le richieste HTTP");
return;
}
var url="corri.php";
url = url+"?q="+str;
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged() {
if (xmlhttp.readyState==4) {
if (xmlhttp.responseText == 0) {
alert("CONTROLLA IL CODICE DELLA LEZIONE SCELTA! probabilmente non hai inserito il codice esatto");
document.modulone.id_lezione.focus();
document.modulone.id_lezione.select();
return;
}
document.getElementById("idid").value = xmlhttp.responseText;
var p = document.getElementById("posticini").value;
if (p > 1) {document.getElementById("idid").value = xmlhttp.responseText * p};
prezzolezione = xmlhttp.responseText;
}
}
function GetXmlHttpObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
//-->
</script>
</head>
<body>
<div>
<a href="../index.html"><img src="../immagini/t7logo.gif"></a>
</div>
<div id="divsinistra" class="testoPiccolo">
<p>Compila il modulo per ottenere il voucher regalo in PDF<br>
Se preferisci, invia una mail a <a href="mailto:ks@teatro7.com?subject=Vorrei regalare un corso di cucina...">Silvia</a><br>
oppure chiamala direttamente al numero +39 366 666 4427</p>
<br>
<hr>
<br>
<div id="ciccio"></div>
<form method="post" name="modulone" target="_blank">
Nome*: <input tabindex="1" name="nomecliente" type="text" size="35" />
Cognome*: <input tabindex="2" name="cognomecliente" type="text" size="35" /> <br><br>
Telefono: <input tabindex="3" name="telefono" type="text" />
Email*: <input tabindex="4" name="email" type="text" /> <br><br>
ID Lezione regalata (OPZIONALE**): <input tabindex="5" name="id_lezione" type="text" size="4" onChange="prendiprezzo(this.value)"><br><br>
Numero posti (OPZIONALE): <input tabindex="6" id="posticini" name="postiprenotati" type="text" size="3" value="1" onBlur="nposti()"><br><br>
Importo del buono*: Euro <input tabindex="20" id="idid" name="pagato" type="text" readonly="readonly" size="4" value="80" /> , <input tabindex="21" name="decimali" type="text" readonly="readonly" size="2" value="00"><br><br>
Destinatario del regalo*: <br>
Nome <input tabindex="7" name="destinatario" type="text" size="35" /> Cognome <input tabindex="8" name="cognomedestinatario" type="text" size="35" /> <br><br>
<div id="bottcontinua" style="display: block">
<p align="center"><input type="button" name="continua" value=" CONTINUA " onClick="prosegui()" style="color: red;"></p>
</form>
</div>
<hr>
<br>
<div id="asterischi" name="asterischi" style="display: block">
<p><b>* CAMPI OBBLIGATORI</b></p>
<p><b>** Se inserisci l'ID della lezione il buono riporterà anche il nome e la data della lezione regalata</b></p>
</div>
<div id="bottone" name="bottone" style="display: none">
<p>Se non si indica il codice della lezione si regala un buono "aperto" dell'importo di <b>80 Euro</b>, che sarà valido per tutte le lezioni
con un prezzo fino a <b>85 Euro</b>.<br>
Nel caso il destinatario del regalo scelga un corso dal costo superiore, potrà integrare la parte mancante prima dell'inizio della lezione,
direttamente alla scuola.</p>
<p>
Per regalare una lezione specifica, bisogna inserirne il codice, consultando l'elenco delle lezioni qui a fianco.
</p>
<p>
Controlla i dati inseriti e procedi cliccando sul bottone qui sotto.
</p>
<p align="center">
<input type="button" name="capito" value=" OK, HO CAPITO " onClick="Modulo()" style="color: red;">
</p>
</div>
</div>
<div id="divdestra">
<iframe src="../corsi_elenco.php" width="100%" height="640px" frameborder="0" ></iframe>
</div>
<div class="keepclear"></div>
</body>
</html>
Codice:
<?php
session_start();
$nomecliente = $_POST["nomecliente"];
$cognomecliente = $_POST["cognomecliente"];
$telefono = $_POST["telefono"];
$email = $_POST["email"];
$pagato = $_POST["pagato"];
$decimali = $_POST["decimali"];
$decok = $_POST["decok"];
$destinatario = $_POST["destinatario"];
$cognomedestinatario = $_POST["cognomedestinatario"];
$id_lezione = $_POST["id_lezione"];
$posti = $_POST["posti"];
$_SESSION['nomecliente'] = $nomecliente;
$_SESSION['cognomecliente'] = $cognomecliente;
$_SESSION['telefono'] = $telefono;
$_SESSION['email'] = $email;
$_SESSION['pagato'] = $pagato;
$_SESSION['decimali'] = $decimali;
$_SESSION['destinatario'] = $destinatario;
$_SESSION['cognomedestinatario'] = $cognomedestinatario;
$_SESSION['id_lezione'] = $id_lezione;
$_SESSION['posti'] = $posti;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Regala un corso di cucina presso teatro7 | Lab</title>
<link href="backoffice.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div>
<a href="../index.html"><img src="../immagini/t7logo.gif"></a>
</div>
<div>
<p>Riepilogo dei dati per il voucher:</p>
<hr>
<p>Il regalo è acquistato da: <? echo $nomecliente . " " . $cognomecliente . "<br>"; ?></p>
<p>
Dati di contatto:<br>
- telefono: <? echo $telefono; ?> <bR>
- Email: <? echo $email; ?> <br>
</p>
<p>Importo da pagare: <? echo $pagato . "," . $decimali; ?></p>
<p>Destinatario del regalo: <? echo $destinatario . " " . $cognomedestinatario; ?></p>
<hr>
<p>
Lezione scelta per il regalo: <? echo $id_lezione; ?><br>
Posti prenotati: <? echo $posti; ?><br>
</p>
<hr>
</div>
<div id="bottone2" name="bottone2">
<p align="center">Verifica che i dati inseriti siano corretti e procedi con l'acquisto del buono</p>
<p align="center">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top" align="center">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="currency_code" value="EUR" />
<input type="hidden" name="lc" value="IT" />
<input type="hidden" name="item_name" value="Corso <?php echo $titolo; ?> a teatro7 | Lab" />
<input type="hidden" name="amount" value="<?php echo $euro; ?>" />
<input type="hidden" name="notify_url" value="http://www.teatro7.com/backoffice/listener_t7_voucher.php" />
<input type="hidden" name="business" value="maurizioamedeo.gerosa@gmail.com" />
<input type="hidden" name="custom" value="<? echo $id; ?>" />
<input class='rosso' type='submit' value='ACQUISTA IL VOUCHER' style="text-align: center;" />
</form>
</p>
</div>
</body>
</html>
Grazie per l'aiuto. E' due giorni che ci sbatto la faccia e non ne vengo a capo...