questo è un piccolo script che permette una volta aggiunti dei prodotti, di visualizzarli in una tabella. Questi posso essere acquistati e verrà inviata un mail con il riepilogo.
Adesso allo stato attuale va tutto alla grande.
Gli unici problemi che riscontro sono:
+ Quando chiedo di inserire i dati per l'acquisto non mi visualizza i prodotto messi nel carrello
+ Quando arriva la mail non mi visualizza i prodotti messi nel carrello
Di seguito vi posto i codici:
Funzioni.php
codice:
<?php
function top(){
echo "<html>
<head>
<title>Acquisto prodotti</title>
</head>
<body>
<div align=\"center\">
<table width=\"903\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#000000\" bgcolor=\"#ffffff\">
<tr>
<td width=\"200\" align=\"center\" valign=\"top\" bgcolor=\"#ffffff\">
<iframe width=\"198\" marginwidth=\"0\" marginheight=\"2\" src=\"login.php\" name=\"main\" frameborder=\"0\" scrolling=\"no\" height=\"150\">
</iframe></td>
<td colspan=\"6\" align=\"center\" valign=\"top\" bgcolor=\"#ffffff\">";
}
function bottom(){
echo "</td>
</tr></table></body>
</html>";
}
function usaCarrello()
{
$carrello = $_SESSION['carrello'];
if (!$carrello)
{
return 'Il carrello è vuoto.
';
}else{
$prodotti = @explode(',',$carrello);
return 'Ci sono <a href="carrello.php">'.
@count($prodotti). ' prodotti nel carrello.</a>
';
}
}
function mostraCarrello()
{
global $db;
$carrello = $_SESSION['carrello'];
$somma = 0;
if ($carrello)
{
$prodotti = @explode(',',$carrello);
$acquisti = array();
foreach ($prodotti as $prodotto)
{
$acquisti[$prodotto] = (@isset($acquisti[$prodotto])) ? $acquisti[$prodotto] + 1 : 1;
}
$result[] = '<form action="carrello.php?action=aggiorna" method="post" id="cart">';
$result[] = '<table border="1" frame="border" rules="none" width="75%" align="center">';
$result[] = '<tbody><tr>';
// $result[] = '<td width="15%">CODICE</td>';
// $result[] = '<td width="20%">CATEGORIA</td>';
$result[] = '<td width="15%">MARCA</td>';
$result[] = '<td width="20%">DESCRIZIONE</td>';
$result[] = '<td width="50%">PREZZO</td>';
$result[] = '<td width="50%">Q.TA</td>';
$result[] = '<td width="50%">IMPORTO</td>';
$result[] = '</tr>';
$result[] = '<tr>';
foreach ($acquisti as $id=>$quantita)
{
$sql = 'SELECT * FROM prodotti WHERE id = '.$id;
$res = $db->query($sql);
$f = $res->fetch();
@extract($f);
$result[] = '<tr>';
$result[] = '<td>'.$nome.'</td>';
$result[] = '<td>'.$marca.'</td>';
$result[] = '<td>€'.$prezzo.'</td>';
$result[] = '<td><input type="text" name="quantita'.$id.'" value="'.$quantita.'" size="3"></td>';
$result[] = '<td>€'.($prezzo * $quantita).'</td>';
$somma += $prezzo * $quantita;
$result[] = '<td>ELIMINA</td>';
$result[] = '</tr>';
}
$result[] = '</table>';
$result[] = 'Totale: €'.$somma.'</br>';
$result[] = '<button type="submit">Aggiorna il carrello</button>';
$result[] = '</form>';
}else{
$result[] = 'Il carrello è vuoto.
';
}
return @join('',$result);
}
?>
<style type="text/css">
<!--
input,select {
border: 1px solid nero;
background-color: #f2ffd5;
font-size: 16px;
font-family: Helvetica;
color: #blu;
}
h1{
font-family: Verdana,arial;
color: #000000;
}
table{
background: #f2ffd5;
border: 2px ridge #FF9224;
}
body {margin-top: 4px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;font-size: 20px; font-family: Helvetica, Arial, Verdana; background-color: #216383}
thead{
font-family: verdana, Times, serif;
text-align: center;
color: #669933;
background: white;
}
td,th {font-family: Times New Roman; font-size: 10px; border: 0px }
a:link { font-family: Helvetica, Arial, Verdana; font-size: 15px; font-weight: bold; color: #CC6600 ; text-decoration: none; text-align: center }
a:visited {font-family: Helvetica, Arial, Verdana; font-size: 15px; font-weight: bold; color: #CC6600 ; text-decoration: none; text-align: center}
a:hover {
color: #000000;
}
a:active {
color: #FF0000;
}
img {
border: 0px;
}
div {
text-align: center;
}
-->
</style>
ordine.php
codice:
<?php
@require('funzioni.php');
top();
?>
<form action="confermaordine.php" method="post" enctype="multipart/form-data">
<h1>Inserire i dati nel form sottostante:</h1>
<table width="400" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>COGNOME:</td>
<td><input name="cognome" type="text" size="25" maxlength="25"></td>
</tr>
<tr>
<td>[b]NOME:</b</td>
<td><input name="nome" type="text" size="25" maxlength="25"></td>
</tr>
<tr>
<td>[b]RAGIONE SOCIALE:</b</td>
<td><input name="ragionesociale" type="text" size="25" maxlength="25"></td>
</tr>
<tr>
<td>[b]PARTITA IVA/CODICE FISCALE:</b</td>
<td><input name="cod_part" type="text" size="25" maxlength="25"></td>
</tr>
<td>[b]INDIRIZZO:</b</td>
<td><input name="indirizzo" type="text" size="25" maxlength="50"></td>
</tr>
<tr>
<td>[b]LOCALITA' (PROV):</b</td>
<td><input name="localita" type="text" size="25" maxlength="25"></td>
</tr>
<tr>
<td>[b]CAP:</b</td>
<td><input name="cap" type="text" size="25" maxlength="5"></td>
</tr>
<tr>
<td>[b]EMAIL:</b</td>
<td><input name="email" type="text" size="25" maxlength="25"></td>
</tr>
<tr>
<td>[b]TELEFONO:</b</td>
<td><input name="telefono" type="text" size="25" maxlength="25"></td>
</tr>
</table>
[img]btn_backshop.gif\[/img]
<input name="invia il modulo" type="image" src="btn_confermaordine.gif">
</form>
</body>
</html>
<?php bottom(); ?>
confermaordine.php
codice:
<?php
$msg ="Ciao Utente ";
$msg .= "\n";
$msg .= "\n";
$msg .= "\n";
$msg .= $_POST['cognome'];
$msg .= "\n";
$msg .= $_POST['nome'];
$msg .= "\n";
$msg .= $_POST['ragionesociale'];
$msg .= "\n";
$msg .= $_POST['indirizzo'];
$msg .= "\n";
$msg .= $_POST['localita'];
$msg .= "\n";
$msg .= $_POST['email'];
$msg .= "\n";
$msg .= $_POST['telefono'];
$msg .= "\n";
$msg .= $_POST['cod_part'];
$msg .= "\n";
if (trim($cognome)=="" or trim($nome)=="" or trim($ragionesociale)=="" or trim($indirizzo)=="" or trim($localita)=="" or trim($email)=="" or trim($telefono)=="" or trim($cod_part)=="") {
echo "I campi obbligatori devono essere riempiti...torna indietro";
}else if(!$risultato = ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email)){
echo " $email non è un indirizzo email valido";
}
else{
// permetto anche l'inserimento del simbolo ' es: l'altra volta...
$cognome=addslashes(stripslashes($cognome));
$nome=addslashes(stripslashes($nome));
$ragionesociale=addslashes(stripslashes($ragionesociale));
$indirizzo=addslashes(stripslashes($indirizzo));
$localita=addslashes(stripslashes($localita));
$email=addslashes(stripslashes($email));
$telefono=addslashes(stripslashes($telefono));
$cod_part=addslashes(stripslashes($cod_part));
// setto il primo carattere in maiuscolo
$cognome=ucfirst($cognome);
$nome=ucfirst($nome);
$header = "From:<mail@yahoo.it>\n";
$header .= "Reply-To:<mail2@yahoo.it>\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$header .= "Content-Transfer-Encoding: 7bit\n\n";
$msg = "<html><body bgcolor=black>
<center><table width=\"803\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=orange>
<tr>
<td><font color=orange><p align=\"left\">
Ciao $cognome $nome, Stealk è felice di darti il suo benvenuto
<p align=\"justify\">Portando a termine l'iscrizione potrai subito acquistare i nostri prodotti effettuando il login
Per effettare il login basta inserire la username e la password da te scelte negli appositi campi della sezione situata nella colonna sinistra
DATI PER LA SPEDIZIONE
COGNOME:$cognome
NOME:$nome
RAGIONE SOCIALE:$ragionesociale
PARTITA IVA/CODICE FISCALE:$cod_part
INDIRIZZO:$indirizzo
LOCALITA:$localita
EMAIL:$email
TELEFONO:$telefono
Per non perdere i dati ti consiglio di non cancellare questa email
Per completare l'iscrizione non ti resta che cliccare nel collegamento sottostante...Se
il collegamento non funziona, copia l'URL e incollala nella barra degli indirizzi del tuo browser(Internet explorer, firefox)
<p align=\"center\">
<p align=\"right\">
Cordiali saluti
Stealk
</font>
</td>
</tr></table><hr>";
$subject = "Acquisto Prodotti";
mail("miamail@yahoo.it", $subject, $msg, $header );
header("Refresh: 2; URL=http://www.xxxorg/m/email_inviata.html");
}
?>
In pratica come detto non riesco a far visualizzare sia su ordine.php che nella mail generata da confermaordine.php la tabella dei prodotto inseriti nel carrello
Poteta aiutarmi??
Grazie