Visualizzazione dei risultati da 1 a 2 su 2

Discussione: php ->mysql

  1. #1

    php ->mysql

    Ho dei problemi con la codifica dei caratteri speciali tipo àèò etccc...

    Il database tabelle e campi sono settati utf8_general_ci
    a seguire il codice che uso per inviare i dati a database e a clienti.

    Codice PHP:
    <?php



    $email 
    htmlspecialchars(trim ($_POST['email']));//impostazione email cliente
    session_start();
    $_SESSION['mail']=$email;//imposta email per invio allegato
    $nome htmlspecialchars(trim ($_POST['element_1']));//nome
    $via htmlspecialchars(trim ($_POST['element_2']));//via
    $cap htmlspecialchars(trim ($_POST['element_4']));//cap
    $citt htmlspecialchars(trim ($_POST['element_5']));//città
    $provincia htmlspecialchars(trim ($_POST['element_6']));//provincia
    $piva htmlspecialchars(trim ($_POST['element_7']));//p.iva
    $telefono htmlspecialchars(trim ($_POST['element_8']));//telefono
    $pagamento htmlspecialchars(trim ($_POST['element_10']));//pagamento |1-bonifico|2-paypal|3-Contrassegno
    $note htmlspecialchars(trim ($_POST['element_9']));//note lavoro
    $referente htmlspecialchars(trim ($_POST['element_12']));//nome
    $via2 htmlspecialchars(trim ($_POST['element_13']));//nome
    $cap2 htmlspecialchars(trim ($_POST['element_14']));//cap
    $citt2 htmlspecialchars(trim ($_POST['element_15']));//città
    $provincia2 htmlspecialchars(trim ($_POST['element_16']));//provincia
    $stato htmlspecialchars(trim ('IN CODA'));//provincia

    $numero_ordine=time();//imposta il numero dell'ordine - da non passare al database
    $data=date('d-m-y'$numero_ordine);//imposta la data


    # controllo campi compilati
    if (( $email == "" ) || ( $via == "" ) || ( $citt == "" ) || ( $provincia == "" ) || ( $piva == "" ) || ( $telefono == "" ) || ( $nome == "" ) || ( $pagamento == "" )) {
    echo 
    '<div style="width:500px;margin:150px auto; font-family: Lucida Grande,Tahoma,Arial,Verdana,sans-serif;"> <p style="font-size: 160%;"> Errore!</p><br>Devi compilare correttamente tutti i campi richiesti!<br>
    <a href="javascript:history.go(-1);">Torna indietro</a>'
    ;
    exit;
    }

    # controllo campo telefono compilato con numeri
    if (!is_numeric($telefono)) {
    echo 
    '<div style="width:500px;margin:150px auto; font-family: Lucida Grande,Tahoma,Arial,Verdana,sans-serif;"> <p style="font-size: 160%;">  Errore!</p><br>Devi inserire il tuo numero di telefono corretto!<br>
    <a href="javascript:history.go(-1);">Torna indietro</a>'
    ;
    exit;
    }

    # controllo campo email - email valida
    if (!ereg("@",$email)){
    echo 
    '<div style="width:500px;margin:150px auto; font-family: Lucida Grande,Tahoma,Arial,Verdana,sans-serif;"> <p style="font-size: 160%;">  Errore!</p><br>Devi inserire una email valida!<br>
    La preghiamo di <a href="javascript:history.go(-1);">Torna indietro</a>'
    ;
    exit;
    }

    # controllo se piva o codice fiscale

       
    if (is_numeric($piva))

    {
    $pivaok=$piva;
            
        } else {
        
    $codfisc=$piva;   
        }

    # inserisco i dati nel database


    require 'config.php';

    // richiamo lo script responsabile della connessione a MySQL
    require 'connect.php';

    // preparo la query
    $query "

    INSERT INTO 
      ordini
    SET 

    email = '
    $email',
    nome = '
    $nome',
    via = '
    $via',
    cap = '
    $cap',
    citt = '
    $citt',
    provincia = '
    $provincia',
    pivaok = '
    $pivaok',
    codfisc ='
    $codfisc',
    telefono = '
    $telefono',
    pagamento = '
    $pagamento',
    note = '
    $note',
    referente = '
    $referente',
    via2 = '
    $via2',
    cap2 = '
    $cap2',
    citt2 = '
    $citt2',
    provincia2 = '
    $provincia2',
    stato = '
    $stato',
    data= '
    $data'







    // lancio la query
    $result = mysql_query($query);

    // controllo l'esito
    if (!
    $result) {
        die("
    Errore nella query $query" . mysql_error());
    }

    // chiudo la connessione a MySQL
    mysql_close();


    # ricavo n°ordine

    require 'config.php';

    // richiamo lo script responsabile della connessione a MySQL
    require 'connect.php';

    // preparo la query

    $ricevuta = mysql_query("SELECT id_ordineemail FROM ordini WHERE `email` ='$email' ORDER BY id_ordine DESC;  ");

    $row = mysql_fetch_row($ricevuta);    



    //controllo risultato 


    $numero_ordine=$row[0];
    $numeroordine=$numero_ordine;

    // chiudo la connessione a MySQL
    mysql_close();























    //imposta il testo dell'email!
    $message = html_entity_decode(stripslashes("Ordine inviato da$email<br><br

    <
    strong>DATI FATTURAZIONE E SPEDIZIONE</strong><br><br>

    <
    strong>Data</strong>    $data<br>
    <
    strong>N°ordine</strong>    $numeroordine<br>
    <
    strong>NomeCognome o ditta</strong>    $nome<br>    
    <
    strong>Via e n° civico</strong>    $via<br>
    <
    strong>C.A.P.</strong>    $cap<br>
    <
    strong>Città</strong>    $citt<br>
    <
    strong>Provincia</strong>    $provincia<br>    
    <
    strong>PIVA</strong>    $pivaok<br>
    <
    strong>Codice fiscale</strong>    $codfisc<br>
    <
    strong>E-mail</strong>    $email<br>
    <
    strong>Telefono</strong>    $telefono<br>    
    <
    strong>Pagamento scelto</strong>    $pagamento<br>    
    <
    strong>Referente consegna lavoro</strong>    $referente<br>    
    <
    strong>Via e n° civico</strong>    $via2<br>
    <
    strong>C.A.P.</strong>    $cap2<br>
    <
    strong>Città</strong>    $citt2<br>
    <
    strong>Provincia</strong>    $provincia2<br>
    <
    strong>Note su lavoro e consegna</strong>    $note"));

    require("
    ../phpmailer/class.phpmailer.php");

    $mail = new PHPMailer();
    //manca del codice perchè ho cancellato i dati personali e login comunque non è qui il problema!
    $mail->AddAddress($email1,$name);
    $mail->AddAddress($email,$nome);
    $mail->AddReplyTo($email1,"manifestiindigitale");
    $mail->WordWrap = 50; // Caratteri prima di andare a capo


    $mail->Subject = "Invio dati ordine";
    $mail->Body = $message ;//HTML Body
    $mail->AltBody = "This is the body when user views in plain text format"; //Text Body
    $mail->CharSet = "UTF-8";
    header("
    Refresh1url=http://www..........etccc.....");
    if(!$mail->Send())
    {
    echo 
    "Mailer Error: " $mail->ErrorInfo;
    }
    else
    {
    echo 
    '<div style="width:500px;margin:150px auto; font-family: Lucida Grande,Tahoma,Arial,Verdana,sans-serif;"> <p style="font-size: 160%; ">Dati inviati correttamente</p>Attendi...</div>';
    }
    $email->SmtpClose();
    ?>

    Come posso risolvere?
    Grazie,
    Stefano

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Leggi il link che ho in firma riguardo i caratteri strani.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.