logo

Types de blocs supplémentaires (EBT) – Nouvelle expérience de Layout Builder❗

Types de blocs supplémentaires (EBT) – types de blocs stylisés et personnalisables : diaporamas, onglets, cartes, accordéons et bien d’autres. Paramètres intégrés pour l’arrière-plan, la boîte DOM, les plugins JavaScript. Découvrez dès aujourd’hui le futur de la création de mises en page.

Démo des modules EBT Télécharger les modules EBT

❗Types de paragraphes supplémentaires (EPT) – Nouvelle expérience Paragraphes

Types de paragraphes supplémentaires (EPT) – ensemble de modules basé sur les paragraphes analogiques.

Démo des modules EPT Télécharger les modules EPT

Défilement

Vérification de l'e-mail et du nom en PHP

22/02/2025, by Anonyme (non vérifié)

Bonjour chers tous !

J'ai un script et j'ai besoin qu'il vérifie l'e-mail et le nom de l'utilisateur avant d'accepter la commande. Merci d'avance !

 

 

<h1>Passer une commande</h1>
<?php

require_once realpath(dirname(__FILE__) . '/../cms/local.php');
function send_mail($emailaddress, $fromaddress, $emailsubject, $body, $attachments=false){
    $eol="\n";
    $mime_boundary=md5(time());
    # En-têtes communs
    $headers  = '';
    $headers .= 'De: '.$fromaddress.$eol;
    $headers .= 'Répondre à: '.$fromaddress.$eol;
    $headers .= 'Retour-Path: '.$fromaddress.$eol;    // ces deux pour définir l'adresse de réponse
    $headers .= "Message-ID: <".$now." TheSystem@".$_SERVER['SERVER_NAME'].">".$eol;
    $headers .= "X-Mailer: PHP v".phpversion().$eol;          // Ces deux pour aider à éviter les filtres anti-spam
    $headers .= 'Bcc: '.EMAILS_ORDER.$eol;
    # Limite pour marquer la séparation & En-têtes multitypes
    $headers .= 'MIME-Version: 1.0'.$eol;
    $headers .= "Content-Type: multipart/related; boundary=\"".$mime_boundary."\"".$eol;
    $msg = "";

    if ($attachments !== false)
    {

        for($i=0; $i < count($attachments); $i++)
        {
            if (is_file($attachments[$i]["file"]))
            {
                # Fichier pour pièce jointe
                //        $file_name = substr($attachments[$i]["file"], (strrpos($attachments[$i]["file"], "/")+1));
                $file_name = basename($attachments[$i]["name"]);

                $handle=fopen($attachments[$i]["file"], 'rb');
                $f_contents=fread($handle, filesize($attachments[$i]["file"]));
                $f_contents=chunk_split(base64_encode($f_contents));    //Encoder les données pour la transition en utilisant base64_encode();
                fclose($handle);

                # Pièce jointe
                $msg .= "--".$mime_boundary.$eol;
                $msg .= "Content-Type: ".$attachments[$i]["content_type"]."; name=\"".$file_name."\"".$eol;
                $msg .= "Content-Transfer-Encoding: base64".$eol;
                $msg .= "Content-Disposition: attachment; filename=\"".$file_name."\"".$eol.$eol; // !! Cette ligne nécessite DEUX fins de ligne !! IMPORTANT !!
                //        $msg .= "Content-Disposition: attachment;".$eol;
                //        $msg .= "       filename=\"".$file_name."\"".$eol.$eol;
                $msg .= $f_contents.$eol.$eol;

            }
        }
    }

    # Configuration pour texte OU html
    $msg .= "Content-Type: multipart/alternative".$eol;

    /*
    # Version texte
    $msg .= "--".$mime_boundary.$eol;
    $msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol;
    $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
    $msg .= strip_tags(str_replace("<br>", "\n", $body)).$eol.$eol;
    */


    # Version HTML
    $msg .= "--".$mime_boundary.$eol;
    $msg .= "Content-Type: text/html; charset=windows-1251".$eol;
    $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
    $msg .= $body.$eol.$eol;

    # Terminé
    $msg .= "--".$mime_boundary."--".$eol.$eol;  // terminer avec deux fins de ligne pour une meilleure sécurité. voir Injection.

    # ENVOYER L'EMAIL
    ini_set(sendmail_from,$fromaddress);  // les lignes INI sont pour forcer l'adresse d'expédition à être utilisée !
    $result = mail($emailaddress, $emailsubject, $msg, $headers);
    ini_restore(sendmail_from);
    return $result;
}

    if ( isset($_POST['ФИО']) ) {
       
            $fio = $_POST['ФИО'];
            $reg = $_POST['Регион'];
            $city = $_POST['Город'];
            $phone = $_POST['Телефон'];
            $email = $_POST['Эл__почта'];
            $addres = $_POST['Адрес_доставки'];
            $com = $_POST['Комментарий_к_заказу'];
            $group1 = $_POST['group1'];
       
            $to = $email;

            $from    = '"Site '.$_SERVER['SERVER_NAME'].'" <no-reply@'.$_SERVER['SERVER_NAME'].'>';
            // sujet de l'email
            $subject = 'Commande depuis le site '.$_SERVER['SERVER_NAME'].' du '.date('d-m-Y H:i');

            // texte de l'email
            $message = "
            <html>
            <head>
              <title>Confirmation de commande</title>
            </head>
            <body>
              <p>Votre commande du ".date('d.m.Y H:i')."</p>

            <table width=\"100%\" cellspacing=\"2\" cellpadding=\"5\" border=\"0\">
              <tbody>
                <tr>
                  <th colspan=\"2\">Informations sur l'acheteur :</th>
                </tr>
                <tr>
                  <td>Nom et prénom</td>
                  <td>$fio</td>
                </tr>
                <tr>
                  <td>Région</td>
                  <td>$reg</td>
                </tr>
                <tr>
                  <td>Ville</td>
                  <td>$city</td>
                </tr>
                <tr>
                  <td>Téléphone de contact</td>
                  <td>$phone</td>
                </tr>
                <tr>
                  <td>Email</td>
                  <td>$email</td>
                </tr>
                <tr>
                  <td>Adresse de livraison</td>
                  <td>$addres</td>
                </tr>
                <tr>
                  <td>Méthode de paiement</td>
                  <td>$group1</td>
                </tr>
                <tr>
                  <td>Commentaire à la commande :</td>
                  <td>$com</td>
                </tr>
              </tbody>
            </table>
<h2>Contenu de la commande :</h2>";
    if ($_SESSION['cart']) {
        $totalArray = array();
        $uniqueArray = array_unique($_SESSION['cart']); // suppression des éléments en double
           
// Calcul final des ID des produits et de leur quantité            foreach ($uniqueArray as $key) {
foreach ( $_SESSION['cart'] as $k => $v ) {            $totalArray[$v] = ( $v == $key ) ? $totalArray[$v] + 1 : $totalArray[$v] ;
}                }
           
$DB = new PDO ('sqlite:'.$_SERVER['DOCUMENT_ROOT'].'/minicms.sqlite');            $r = $DB->query('SELECT * FROM catalog_items')->fetchAll();
           
$message .= '<table border="1" cellpadding="10" cellspacing="10" class="cartTable" width="100%">    <tr class="headercartTable">
<td>Nom du produit</td>    <td>Quantité</td>
<td>Prix unitaire, rub</td>        <td>Prix total, rub</td>
</tr>';        $totalPrice = 0;
$MoneyUnit = array('руб' => 'руб', 'dollar' => '$' );               
foreach ($r as $recId => $dataArr) {                if ( isset($totalArray[$dataArr['id']]) ) {
$totalPrice += $dataArr['price']*$totalArray[$dataArr['id']];            $message .= "<tr class=\"item".$dataArr['id']."\">". "<td>".$dataArr['name']."</td>". "<td align=\"center\">".$totalArray[$dataArr['id']]."</td>". "<td align=\"center\" class=\"curPrice\">".$dataArr['price']."</td>". "<td align=\"center\" class=\"totalPrice\">".$dataArr['price']*$totalArray[$dataArr['id']]."</td>".                        "</tr>";
                    }
                }
    $message .= '<tr class="footerTable">
        <td style="text-align: right; font-weight: bold" colspan="2">Coût total</td>
        <td id="cashe" style="font-weight: bold" align="center" colspan="2">'.$totalPrice.'</td>
    </tr>
    </table>';
    } else {
        $message .= '<h3>Il n\'y a pas de produits dans le panier</h3>';
    }
    $message .= "</body>
            </html>
            ";
           
            if ( send_mail($to, $from, $subject, $message) ) {
?>
                <br />
                <h2>Votre commande a été acceptée</h2>
                <p>Un e-mail contenant les détails de la commande a été envoyé à l'adresse électronique fournie lors de la commande.</p>
                <p>Notre responsable vous contactera bientôt pour confirmer les détails.</p>
                <br /><br /><br />
                <h2>Informations sur l'acheteur</h2>
                <?=$message ?>
               
<?php    
                unset($_SESSION['cart']);               
            } else {
?>
                <h2>Erreur d'envoi du message !</h2>
                <p>Veuillez contacter les développeurs du site !</p>
<?php                
            }
} else {?>
   
<p>Vérifiez que tous les champs sont correctement remplis.</p>
<p>Des coordonnées de contact valides : téléphone et adresse e-mail sont nécessaires pour traiter votre commande rapidement.</p>

<form id="orderSend" action="" method="POST">
    <input type="text" size="70" name="Nom complet" value="Nom complet" /><br />
    <input type="text" size="70" name="Région" value="Région" /><br />
    <input type="text" size="70" name="Ville" value="Ville" /><br />
    <input type="text" size="70" name="Téléphone" value="Téléphone" /><br />
    <input type="text" size="70" name="E-mail" value="E-mail" /><br />
    <input type="text" size="70" name="Adresse de livraison" value="Adresse de livraison" /><br />
    <textarea name="Commentaire sur la commande" cols="54" rows="7">Commentaire sur la commande</textarea><br />
    <br />
    <input type="radio" name="group1" value="Paiement à la livraison par le livreur" />Paiement à la livraison par le livreur<br />
    <input type="radio" name="group1" value="Paiement via Sberbank" />Paiement via Sberbank<br />
    <input type="radio" name="group1" value="Paiement sans espèces" />Paiement sans espèces<br />
   
    <input type="submit" value="Terminer la commande" id="sendOrdering" />
   
</form>


<?php } ?>