Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente bannato
    Registrato dal
    Feb 2011
    Messaggi
    84

    inviare email con form e dati estratti da mysql

    ciao a tutti, prima di tutto vi spiego cosa voglio fare perchè dal titolo non si capirà molto.
    nel mio sito ho deciso di fare una pagina dove gli utenti possono ordinare dei prodotti ( tranquilli è nell'area riservata e ci accedono solo quelli che conosco molto bene). siccome io inserirò i dati dei prodottti nel db non so come fare affinche ci sia un elenco dei prodotti e in parte un campo per inserire il numero di pezzi. io so inviare un email da form, ad esempio cosi

    form
    Codice PHP:
    <form action="invio.php">
    Nome:<input type="text" name="nome">

    Cognome:<input type="text" name="cognome">




    <
    input type="submit" value=" Invio ">
    </
    form
    e la pagina invio.php

    Codice PHP:
     <?php
    mysql_connect
    ($host,$user,$pass);
    $mail "mia@email.com";
    $oggetto "email";
    $testo "nome: ".$_GET['nome']."
    Cognome: "
    .$_GET['cognome'];
    mysql_query("INSERT INTO nome_db.nome_tabella SET nome='".$nome.",' cognome= '".$cognome."');
    mail(
    $mail,$oggetto,$testo);
    ?>
    so anche stampare i dati presi dal db ad esempio così

    Codice PHP:
    <? include("conn.php"); ?>
        <?php
            $Risultato
    =mysql_query("select * from tabella "$conn);
            if (!
    $Risultato)
            {
                die(
    "La tabella selezionata non esiste " mysql_error());
            }

            while (
    $riga=mysql_fetch_array($Risultato))
            {
            echo 
    "<div>prodotto" $riga[4] . "prezzo" $riga[1] . "</div>";
            }
        
    ?>
    ricapitolando: devo fare in modo che l'utente veda l'elenco dei prodotti ed i relativi prezzi e che in parte ci sia un campo per inserire la qauntità che si vuole di quel prodotto ci saranno poi ovviamente i campi nome cognome indirizzo, ecc ma quelli li so fare, quello che non so fare è quindi far collaborare queste due cose e mi servirebbe inoltre che nell'email visto che verrà spedita sia a me che all'utente ci fosse un numero univoco casuale o progressivio non fa differenza in modo da poter distinguere i vari ordini con sicurezza anche per via dei pagamenti che si faranno manualmente su paypal, se per far quest' ultima cosa serve un database va benissimo tanto ce l ho gia!
    ah dimenticavo se fosse possibili vorrei che il "cliente" dopo aver selezionato i prodotti potesse vedere un' anteprima dell'ordine dove si veda anche il prezzo complessivo.
    grazie mille a tutti come sempre!!
    siete grandi

  2. #2
    Non ti sembra un pò troppa roba per un post solo?
    Vai per gradi: passare tramite form i prodotti da inviare per email:
    Estraendo i dati dal database crea anche una variabile che li contenga tutti:
    Codice PHP:
    <?
    //crei la variabile contenitore
    $prodotti='';

    //poi estrai tutti i prodotti da mostrare nella pagina con il ciclo while
    while ($riga=mysql_fetch_array($Risultato)) 
            { 
            
    $prodotto="<div>prodotto" $riga[4] . "prezzo" $riga[1] . "</div>"
            echo 
    $prodotto;
            
    $prodotti.=$prodotto;
            } 

    //fatto ciò inserisci il tutto in un campo nascosto nel tuo form (fallo tramite post, è più sicuro)
    ?>
    <form action="invio.php" method='post'> 
    Nome:<input type="text" name="nome">
     
    Cognome:<input type="text" name="cognome">
     

    <input type='hidden' name='prodotti' value='<?=$prodotti?>' />


    <input type="submit" value=" Invio "> 
    </form>
    <?
    //così ti ritroverai nella pagina invio.php la variabile prodotti con i prodotti, in formato html, da poter inviare. Se li vuoi in formato testo cambia la terza riga nel ciclo while come preferisci

     
    <?php 
    mysql_connect
    ($host,$user,$pass); 
    $mail "mia@email.com"
    $oggetto "email"
    $testo "nome: ".$_POST['nome'].
    Cognome: "
    .$_POST['cognome']."
    Prodotti: "
    .$_POST['prodotti']; 
    //correggi la virgola nella query dopo nome così e chiudilo con le doppie virgolette
    mysql_query("INSERT INTO nome_db.nome_tabella SET nome='".$nome."', cognome= '".$cognome."')"
    mail($mail,$oggetto,$testo); 
    ?>
    Ce l'ho fatta! - ItalianPixel -

  3. #3
    Utente bannato
    Registrato dal
    Feb 2011
    Messaggi
    84
    grazie ma ho gia risolto

  4. #4
    Allora chiudilo il topic!!

    tempo sprecato...
    Ce l'ho fatta! - ItalianPixel -

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.