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
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 carrellocodice:<?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"); } ?>
Poteta aiutarmi??
Grazie

					
					
					
						
  Rispondi quotando