Salve a tutti...
Ho un problema da cui non riesco a venirne fuori... Io ho due tabelle : Punti e Fidelity, Nella tabella Fidelity vengono registrati i dati dell'utente, compreso barcode e il dato vip (boolean 1=si 0 =no).
Fin qui tutto ok, riesco tranquillamente a inserire i dati nel DB con i dovuti controlli.
Il problema sorge quando deve inserire dei punti a questo cliente.
Ho una pagina di provenienza dove viene digitato il barcode della tessera, controllo se esiste e lo porto alla pagina di inserimento.
Nella pagina di inserimento compilo il piccolo form che lo contiene.Anche fin qui tutto ok.
Il problema nasce ora.... Io devo fare in modo che nel momento in cui premo "aggiungi punti" devo controllare nella tabella Fidelity se vip = 1, se cosi fosse aggiungere i punti compresi di decimali, nel caso opposto invece se vip = 0 devo togliere i decimali dei punti ed inserirli .
La parte che toglie i decimali l'ho fatta ed è perfettamente funzionate, mentre la parte di controllo vip non mi riesce... posto il codice :
Sapete aiutarmi per favore?
Ah un ultima cosa, il barcode viene passato in sessione dalla prima schermata, poi nel form dopo come variabile.
Inserisco anche le varie parti prima del controllo vip.
Controllo barcode:
Nel caso sia presente form di isnerimento e calcolo automatico dei punti :
Grazie a tutti per le eventuali risposte.
Ho un problema da cui non riesco a venirne fuori... Io ho due tabelle : Punti e Fidelity, Nella tabella Fidelity vengono registrati i dati dell'utente, compreso barcode e il dato vip (boolean 1=si 0 =no).
Fin qui tutto ok, riesco tranquillamente a inserire i dati nel DB con i dovuti controlli.
Il problema sorge quando deve inserire dei punti a questo cliente.
Ho una pagina di provenienza dove viene digitato il barcode della tessera, controllo se esiste e lo porto alla pagina di inserimento.
Nella pagina di inserimento compilo il piccolo form che lo contiene.Anche fin qui tutto ok.
Il problema nasce ora.... Io devo fare in modo che nel momento in cui premo "aggiungi punti" devo controllare nella tabella Fidelity se vip = 1, se cosi fosse aggiungere i punti compresi di decimali, nel caso opposto invece se vip = 0 devo togliere i decimali dei punti ed inserirli .
La parte che toglie i decimali l'ho fatta ed è perfettamente funzionate, mentre la parte di controllo vip non mi riesce... posto il codice :
PHP:
<?php
session_start();
include('connect.php');
$Barcode=trim(htmlspecialchars($_POST['Barcode']));
$dataacquisto=trim(htmlspecialchars($_POST['dataacquisto']));
$dataITA="$dataacquisto";
$convert=explode('/',$dataITA);
$dataUSA=$convert[2]."-".$convert[1]."-".$convert[0];
$importo=trim(htmlspecialchars($_POST['importo'])); $numeroscnt=trim(htmlspecialchars($_POST['numeroscnt']));$punti=trim(htmlspecialchars($_POST['punti']));
//$punti=floor($punti);
$mail=trim(htmlspecialchars($_POST['mail']));
$sql = "SELECT * FROM fidelity WHERE barcode='$Barcode'";
$rows=mysql_fetch_array($sql);
if('vip' == '1')
{
$query = "INSERT INTO fidelitypoint ( id,barcode,dataacquisto,importoscnt,numeroscnt,punti)
VALUES (NULL, '$Barcode','$dataUSA','$importo', '$numeroscnt', '$punti')";
if (@mysql_query($query)) {
echo ' <body bgcolor="#000000"> <p align="center"><table cellspacing=5 cellpadding=5 align="center">
<tr>
<td colspan="2">
<img src="images/logo.png" align="middle" />
</td>
</tr>
<tr>
<td colspan="2">
<font size="+3" color="#FFFFFF">Punti inseriti correttamente!</font>
</td>
</tr>
</p>
</table>
</body>';
} else {
exit('<p> Errore inserimento punti: ' . mysql_error() . '</p>');
}
} else {
$punti=floor($punti);
$query1 = "INSERT INTO fidelitypoint ( id,barcode,dataacquisto,importoscnt,numeroscnt,punti)
VALUES (NULL, '$Barcode','$dataUSA','$importo', '$numeroscnt', '$punti')";
if (@mysql_query($query1)) {
echo ' <body bgcolor="#000000"> <p align="center"><table cellspacing=5 cellpadding=5 align="center">
<tr>
<td colspan="2">
<img src="images/logo.png" align="middle" />
</td>
</tr>
<tr>
<td colspan="2">
<font size="+3" color="#FFFFFF">Punti inseriti correttamente!</font>
</td>
</tr>
</p>
</table>
</body>';
} else {
exit('<p> Errore inserimento punti: ' . mysql_error() . '</p>');
}
}
?>
</body>
</html>
Sapete aiutarmi per favore?
Ah un ultima cosa, il barcode viene passato in sessione dalla prima schermata, poi nel form dopo come variabile.
Inserisco anche le varie parti prima del controllo vip.
Controllo barcode:
PHP:
<?php
session_start();
//CONNESSIONE AL DATABASE
include('connect.php');
//RECUPERA DATI DAL FORM
$mail = $_POST['mail'];
$mail = addslashes(htmlspecialchars(($_POST['mail'])));
$Barcode = $_POST['Barcode'];
$Barcode = addslashes(htmlspecialchars(($_POST['Barcode'])));
if($Barcode =="" ){
if($mail==""){
?>
<script>
alert('Il campo mail deve essere riempito!');
location.href='puntifidelity.htm';
</script>
<?php
}else{
if((!isset($_POST['mail'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$", $_POST['mail'])))
{
echo "Attenzione, formato email non valido.";
//ritorno al form
}else{
$ctrl_mail = @mysql_query("SELECT * FROM fidelity WHERE mail='$mail'") or die (mysql_error());
if(@mysql_num_rows($ctrl_mail)>0)
{
$_SESSION['mail'] = $mail;
?>
<script>
location.href='fidelitypoint.php';
</script>
<?php
}else{
?>
<script>
alert('Email non trovata');
location.href='puntifidelity.htm';
</script>
<?php
}
}
}
}else{
$ctrl_barcode = @mysql_query("SELECT * FROM fidelity WHERE barcode='$Barcode'") or die (mysql_error());
if(@mysql_num_rows($ctrl_barcode)>0)
{
$_SESSION['barcode'] = $Barcode;
?>
<script>
location.href='fidelitypoint.php';
</script>
<?php
}else{
?>
<script>
alert('Barcode non trovato');
location.href='puntifidelity.htm';
</script>
<?php
}
}
?>
Nel caso sia presente form di isnerimento e calcolo automatico dei punti :
PHP:
<?php
session_start();
include('connect.php');
?>
<!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=utf-8" />
<title>Inserimento punti</title>
<style type="text/css">
body {
font: Eras MediUM ITC;
color:#FFF;
background-color: #000;
}
</style>
<style type="text/css">
#main {
width:672px;
height:300px;
position:absolute;
top:30%;
left:50%;
margin:-150px 0 0 -336px;
color: #000;
}
.testo {
color: #FFF;
}
</style>
</head>
<body bgcolor="#000000">
<div id="main">
<form action="aggiungi_punti.php" method="post" name="inserisci">
<table cellspacing=5 cellpadding=5 align="center">
<tr>
<td colspan="2" bgcolor="#000000">
<img src="images/logo.png" align="middle" />
</td>
</tr>
<tr>
<td class="testo">
Inserisci punti a BARCODE :
</td>
<td>
<input name="bcode" type="text" id="bcode" readonly="readonly" value="
<?php
echo $_SESSION[barcode];
?>
">
</td>
</tr>
<tr>
<td class="testo">
Inserisci punti a EMAIL:
</td>
<td>
<input name="email" type="text" id="email" readonly="readonly" value="
<?php
echo $_SESSION[mail];
?>
">
</td>
</tr>
<tr>
<td class="testo">
Data Acquisto:
</td>
<td class="testo">
<input name="dataacquisto" type="text" id="dataacquisto" value="">
</td>
</tr>
<tr>
<td class="testo">
Importo Scontrino:
</td>
<td class="testo">
<input type="text" name="importo" onKeyUp="vendita()" value="" id="importo" size=35/>
</td>
</tr>
<tr>
<td class="testo">
Numero Scontrino:
</td>
<td class="testo">
<input name="numeroscnt" type="text" id="numeroscnt" value="">
</td>
</tr>
<tr>
<td class="testo">
Punti
</td>
<td class="testo">
<input type="text" readonly value="0" name="punti" id="punti" size=35/>
</td>
</tr>
<tr>
<td class="testo">
<input name="mail" type="hidden" value="<?php echo $_SESSION[mail]; ?>">
<input name="barcode" type="hidden" value="<?php echo $_SESSION[barcode]; ?>">
<input name="sottrazione" type="hidden" onKeyUp="vendita()" id="sottrazione" value="20">
</td>
</tr>
<tr>
<td colspan="2" class="testo">
<input name="inserisci" type="submit" id="inserisci" value="Inserisci">
</td>
</tr>
</table>
</form>
</div>
<script type="text/javascript">
function vendita() {
var importo = 0.0+document.getElementById('importo').value;
var sottrazione = 0.0+document.getElementById('sottrazione').value;
if (importo <= 0 || sottrazione <= 0){
document.getElementById('Vendita').value = "--";
}else{
//var ven = parseInt((acq * 100) / ric);
//var numero = (acq * ric) / 100;
var numeroivato = (importo / sottrazione);
var punti = numeroivato.toFixed(2);
document.getElementById('punti').value = punti;
}
}
</script>
</body>
</html>
Grazie a tutti per le eventuali risposte.