Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Email che non parte

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555

    Email che non parte

    Salve ragazzi,
    il problema è questo. Ho un file in php che mi da conferma di un avvenuto pagamento dopo una transazione su sito Banca Sella. Questo file non fa altro che trasferire (se la transazione ha avuto successo), un ordine effettuato da un cliente da una tabella nominata "order" ad una tabella chiamata "archivioorder". A prescindere da ciò, il codice lo vedrete tra poco, vorrei che nel momento in cui viene richiamato questo file parta una mail all'acquirente con i dati relativi all'acquisto effettuato. Ecco il codice incriminato:

    Codice PHP:
    <?
        $parm_d 
    = (isset($_POST['b'])?$_POST['b']:(isset($_GET['b'])?$_GET['b']:NULL));
    if (isset(
    $parm_d)) {
        
    $ordine_id '';
        
    $c explode("*P1*"$parm_d);
        foreach (
    $c as $w) {
            
    $valoreid explode("="$w);
            if (
    ereg("^PAY1_SHOPTRANSACTIONID"$w)) {
                
    $ordine_id $valoreid[1];
            }
        }

            
    $esito_positivo "OK";
        

            if (
    $Trovatook == $esito_positivo) {
            
            include(
    "config.php"); 
            
    mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("non riesco a connettermi"); 
            
    mysql_select_db("$db_name") or die ("Non riesco a selezionare il database"); 
            
            
    $sql "INSERT INTO archiviorder (ordine_id, utente_id, event_id, numerointeri, numeroridotti, numerotavoli, totale, data) SELECT * FROM ordini WHERE ordine_id='".$ordine_id."'";
                if (!
    mysql_query($sql)) {
                die(
    'Error: ' mysql_error());
                    }    
            
    $sql "DELETE FROM ordini WHERE ordine_id='".$ordine_id."'";
            if (!
    mysql_query($sql)) {
                die(
    'Error: ' mysql_error());
                    }
                    
    $sql "SELECT utenti.*, eventi.evento as strEvento, archiviorder.*,
    date_format(archiviorder.data,'%d-%m-%Y %H:%i') AS dataora
    FROM utenti 
    INNER JOIN archiviorder ON archiviorder.utente_id = utenti.utente_id
    INNER JOIN eventi ON eventi.event_id = archiviorder.event_id 
    WHERE utenti.utente_id ='"
    .$_SESSION['username']."' Order by ordine_id Desc LIMIT $primo$per_page";

    $query mysql_query($sql);

    $ordine_id mysql_result($query0'ordine_id');
    $nome mysql_result($query0'nome');
    $cognome mysql_result($query0'cognome');
    $datanascita mysql_result($query0'datanascita');
    $comuneresidenza =  mysql_result($query0'comuneresidenza');
    $evento mysql_result($query0'strEvento');
    $dataevento mysql_result($query0'dataevento');
    $numerointeri mysql_result($query0'numerointeri');
    $numeroridotti mysql_result($query0'numeroridotti');
    $numerotavoli =  mysql_result($query0'numerotavoli');
    $importo mysql_result($query0'totale');
    $cassa mysql_result($query0'biglietteria');
    $mail mysql_result($query0'mail');


                                                    
    // settare qui quello che apparirà nel campo from della email
                                    
    $from_mail "prevendite@goticket.it";
                                    
    // invio della mail contenente la passwd e gli altri dati
                                         
    $To="$mail";
                                         
    $Headers ="From: $from_mail";
                                         
    $Soggetto="[[url]www.goticket.it[/url]] Notifica di acquisto prevendita.";
                                         
    $Corpo.="     Gentile utente, grazie per aver acquistato la tua prevendita su [[url]www.goticket.it[/url]] \n\n";
                                         
    $Corpo.="     L'operazione risulta completata correttamente.\n\n";
                                         
    $Corpo.="     Ricorda che potrai ritirare il/i biglietto/i per l’ingresso presentando il tuo documento di identità alla cassa della location indicata dal Promoter. Il documento deve essere intestato all’acquirente del biglietto su GoTicket.it \n\n";
                                         
    $Corpo.="     Ti consigliamo comunque di stampare questa mail e presentarla unitamente al documento alla cassa.\n\n";
                                          
    $Corpo.="     Di seguito ecco i dettagli del tuo acquisto:\n\n";
                                         
    $Corpo.="     Acquisto n: $ordine_id\n";
                                         
    $Corpo.="     Nome cliente: $nome\n\n";
                                         
    $Corpo.="     Cognome cliente: $cognome\n\n";
                                         
    $Corpo.="     Data di nascita: $datanascita\n\n";
                                         
    $Corpo.="     Comune di residenza: $comuneresidenza\n\n";
                                         
    $Corpo.="     Evento: $evento\n\n";
                                         
    $Corpo.="     Data evento: $dataevento\n\n";
                                         
    $Corpo.="     Prevendite interi: $numerointeri\n\n";
                                         
    $Corpo.="     Prevendite ridotti: $numeroridotti\n\n";
                                         
    $Corpo.="     Prevendite tavoli: $numerotavoli\n\n";
                                         
    $Corpo.="     Importo: $totale\n\n";
                                         
    $Corpo.="     Cassa: $biglietteria\n\n";
                                         
    $Corpo.="     A presto!\n\n";
                                         
    $Corpo.="--------------------------------------------\n";
                                         
    $Corpo.="$from_mail\n";
                                         
    $Corpo.="http://www.goticket.it\n";
                                         
    $Corpo.="--------------------------------------------\n";
                                         
    mail($To$Soggetto$Corpo$Headers);

                                        echo 
    "ti è stata inviata una mail all'indirizzo $mail con i dati del tuo acquisto. Ti aspettiamo al prossimo evento!!";
    ?>
    <script type="text/javascript">
    <!--
    function doRedirect() { //funzione con il link alla pagina che si desidera raggiungere
    location.href = "carrello.php";
    }
    window.setTimeout("doRedirect()", 5000); //Fa partire il redirect dopo tot. secondi
    //-->
    </script>
    <center>


    [b]Stai per essere reindirizzato al menu personale.




    Se non sei reindirizzato entro 4 secondi[/b]


    [url="carrello.php"]CLICCA QUA[/url]
    </center>
    </body>
    </html>
    <?
    }
    }
    }
    mysql_close();
    ?>
    Come vedete c'è anche un javascript che dovrebbe rimandare ad una determinata pagina una volta effettuato l'acquisto. Bene, non funziona. Ed in più, quando lancio il file, mi dice che la transazione è stata eseguita correttamente, ma poi mi esce questo warning:

    Warning: mysql_close(): no MySQL-Link resource supplied in c:\programmi\easyphp1-8\www\.......\confermapagamento.php on line 183

    ossia nell'ultima riga, quella dove viene chiuso il mysql. Perchè?

    Mi da questi warning anche in concomitanza delle varie righe estratte dalla query, ossia

    $ordine_id = mysql_result($query, 0, 'ordine_id');

    ecc.....

  2. #2
    Prova con, uhm... aspetta eh... uhm... boh, non mi viene in mente nulla...

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Complimenti per la risposta!

  4. #4
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    grandi, tutti e due, l'errore dice:
    nessuna risorsa mysql data a mysql_close(), forse perchè ci devi mettere i dati di connessione?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Avresti potuto notare che,
    leggendo correttamente il codice che ho postato, vi sia un include ad un file config.php, ove sono presenti tutti i parametri di connessione. Quindi a quali parametri ti riferisci se non a questi?

  6. #6
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    se avessi letto meglio ciò che ho detto, avresti capito che intendevo questo:
    Codice PHP:
    //inserisci questo alla fine, al posto dei mysql_close()
    mysql_close($variabile_dati_connessione); 

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.