Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [PHP] Inserire dati relativi ai prodotti

    Intanto mi scusa se nel thread precedente non ho inserito un nome appropriato

    Ragazzi ho un superproblemone, ma credo che per voi sarà una schiocchezza.

    In pratica ho uno script formato da tre parti:

    funzioni.php
    ordine.php
    confermaordine.php


    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\">
      
          <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="90%" align="center">';
        $result[] = '<tbody><tr>'; 
     //   $result[] = '<td width="15%">CODICE</td>';
     //   $result[] = '<td width="20%">CATEGORIA</td>';
    	  $result[] = '<td width="15%">COD</td>';
    	  $result[] = '<td width="50%">MARCA</td>';
    	  $result[] = '<td width="20%">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>' . substr($cod, 0, 19) . '</td>';
          $result[] = '<td>'.$nome.'</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);
    }
    ?>

    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
    @session_start();
    require_once 'funzioni.php';
    
    
    
    
    
    $msg ="Ciao Giuseppe ";
    
    $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";
    
    $msg .= $_SESSION[cod];
    
    
    
    
    //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);
    
    $msg .= mostraCarrello();
    
    $header = "From:<xxx@yahoo.it>\n";
    
    $header .= "Reply-To:<xxx@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
    
    
    		Traxsung
    
    		</font>
    
    		 </td>
    
    	  </tr></table><hr>";
    	  
    	
    
    
    
    $subject = "Acquisto Prodotti";
    
    
    
    
    
    
    
    mail("xxx@yahoo.it", $subject, $msg, $header );
    
    
    
    
    
    //}
    
    ?>

    In pratica questo script è così composto: Scelgo i prodotti li aggiunge al carrello, poi compilo ordine.php ed infine con confermaordine.php mi arriva l'emai con i dati del cliente.

    Adesso vorre aggiungere anche la lista dei prodotti ordinati (magari sotto forma di tabella) ma purtroppo non so come si fa


    Mi aiutate perfavore??


    Grazie

    Traxsung

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    se i prodotti sono memorizzati in mysql fai cosi

    Codice PHP:
    <?
    $query
    =mysql_query("select * from tbl_prodotti order by campo_prodotto");
    echo 
    "<table><tr>";
    while(
    $riga=mysql_fetch_object($query))
    {
    $prodotto=$riga->campo_prodotto;
    $ccosto=$riga->campo_costo;
    echo 
    "<td>".$prodotto."</td>";
    echo 
    "<td>".$costo."</td>";
    }
    </
    tr></table>
    ?>

  3. #3
    i prodotti sono memorizzati nel database, ma la lista dei prodotti che ci sono nello shop.
    in pratica l'utente seleziona i prodotti da una lista, e li mette nel carrello (questi sono salvati all'interno dei cookie perchè se chiudo il browser i prodotti non ci sono più), poi inserisce i dati ed infine lo script "confermaordine.php" mi invia la mai con i dati cliente, ma non so come farmi pervenire quelli relativi ai prodotti inseriti nel carrelo

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361
    ma la funzione: function mostraCarrello()
    non ti dovrebbe mostrare il carrello? richiami quella funzione nell'email e hai risolto no?

  5. #5
    purtroppo ho provato ma non va. infatti io per logica pensavo fosse così... ma purtroppo no.
    Sapete spiegarmi il perchè ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361
    In genere un e-commerce penso funsioni cosi:

    Creo il mio carrello con i vari prodotti... (questo può essere creato su una tabella "teoricamente" temporanea) Dove vengono memorizzati i carrelli degli utenti.
    Nel momento in cui confermo l'ordine, i prodotti da questa tabella vengono copiati in una tebella che contiene le righe dell'ordine.

    Credo che le soluzione che tu possa adottare siano 2.

    1) Ti spulci il cookie e ti crei una query dove selezioni tutti i prodotti presenti nel cookie. (se i prodotti sono memorizzati cosi: 002|004|213, cioè solo il codice del prodotto ci metti un attimo)

    2) Tieni memorizzato il codice dell'ordine e selezioni i prodotti dalla tabella contenente le righe degli ordini (cioè i prodotti acquistati)

  7. #7
    ]
    1) Ti spulci il cookie e ti crei una query dove selezioni tutti i prodotti presenti nel cookie. (se i prodotti sono memorizzati cosi: 002|004|213, cioè solo il codice del prodotto ci metti un attimo)
    Puoi spiegarmi come fare ??

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361
    vai a vedere il cookie che ti salva l'applicazione e copialo qui

  9. #9
    come si fa ? :P
    Scusami ma non sono un guro in programmazione

  10. #10
    vai a vedere il cookie che ti salva l'applicazione e copialo qui
    Mi spieghi come fare ??
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.