Partage
  • Partager sur Facebook
  • Partager sur Twitter

Demande d'aide sur mon code php pour créer formula

Sujet résolu
    21 avril 2024 à 16:06:54

    Bonjour,

    Il s'agit de mon premier poste ici. Je voudrais de l'aide pour trouver les erreurs présentent dans mon code php sur un formulaire de contact.

    Ci-dessous, le code en question :

    <!DOCTYPE html>

    <?php session_start();

    ?>

    <html lang="fr-FR">

    <head>

    <meta charset="utf-8" />

    <meta http-equiv="x-ua-compatible" content="ie=edge" />

    <meta name="viewport" content="width=device-width, initial-scale=1" />

    <meta name="description" content="Explorez une sélection unique de tableaux en vente dans ma boutique. Découvrez les meilleures photographies d'exploration urbaine parmi 45 images exceptionnelles." />

    <meta name="author" content="Raphaël COFFIN" />

    <link rel="stylesheet" href="style.css" />

    <title>Boutique - Raphaël Coffin - Photographe Aude</title>

    <link rel="icon" type="image/png"

         sizes="16x16 32x32 36x36 48x48 72x72 96x96 144x144 192x192 256x256 384x384 512x512"

         href="favicon/favicon-16x16.png">

    <link rel="apple-touch-icon" type="image/png"

    sizes="57x57 60x60 72x72 76x76 114x114 120x120 144x144 152x152 180x180"

         href="favicon/apple-icon-57x57.png">

    </head>

    <body>

    <div class="contact">

    <span class="midd">

    <h3 class="titreprojet">Votre projet</h3><hr><hr><hr>

    <p>Pour toute commande, vous pouvez remplir le formulaire ci-dessous en m'indiquant le titre de la photo, sa taille, le moyen de paiement, ainsi que votre adresse pour la livraison</p><hr><hr>

    </span>

    <div>

    <?php if (array_key_exists('errors', $_SESSION)): ?>

        <div class="">

            <?= implode('<br>', $_SESSION['errors']) ?>

        </div>

    <?php endif; ?>

    <?php if (array_key_exists('success', $_SESSION)): ?>

        <div class="">

            Votre email a bien été envoyé

        </div>

    <?php endif; ?>

        <form action="traitement.php" class="form1" method="POST">

    <label for='inputname'>Votre nom (obligatoire)</label>

    <input class="input" type="text" name="name" id="inputname" value="<?= isset($_SESSION['inputs']['name']) ? $_SESSION['inputs']['name'] : ''; ?>" maxlength="40" required>

            <label for='inputemail'>Votre email (obligatoire)</label>

            <input class="input" type="email" name="email" id="inputemail" value="<?= isset($_SESSION['inputs']['email']) ? $_SESSION['inputs']['email'] : ''; ?>" required>

    <label for="inputnamepicture">Nom de la photo</label>

    <input class="input" type="text" name="namepicture" id="inputnamepicture" value="<?= isset($_SESSION['inputs']['namepicture']) ? $_SESSION['inputs']['namepicture'] : ''; ?>" maxlength="60">

    <label for="inputtaillecadre">Taille du cadre :</label>

    <select class="input" name="tailleducadre" id="inputtaillecadre">

     <option value="">--Indiquez votre choix--</option>

     <option value="30×20">30×20</option>

     <option value="60×40">60×40</option>

     <option value="75×50">75×50</option>

    </select>

    <label for="inputmoyenspaiement">Moyen de paiement :</label>

    <select class="input" name="moyenspaiement">

      <option value="">--Indiquez votre choix--</option>

      <option value="Paypal">Paypal</option>

      <option value="Virement">Virement</option>

      <option value="Chèque">Chèque</option>

    </select>

    <label for="inputadresse">Votre adresse</label>

    <input class="input" type="text" name="adresse" id="inputadresse" value="<?= isset($_SESSION['inputs']['adresse']) ? $_SESSION['inputs']['adresse'] : ''; ?>" maxlength="60">

            <label for="inputmessage">Message</label>

            <textarea class="input1" name="message" id="inputmessage"><?= isset($_SESSION['inputs']['message']) ? $_SESSION['inputs']['message'] : ''; ?></textarea>

            <input class="envoie" type="submit" value="Envoyer">

        </form>

    </div>

    </div>

    </div>

      </section>

    <?php include("footer-fleche.php"); ?>

    </body>

    <?php

    unset($_SESSION['inputs']);

    unset($_SESSION['success']);

    unset($_SESSION['errors']);

    ?>

    </html>

    Le code du fichier traitement.php est le suivant :
    <?php
    session_start();
    $errors = [];
    if(!array_key_exists('name', $_POST) || $_POST['name'] == '' ){
        $errors['name'] = "Vous n'avez pas renseigné votre nom";
    }
    if(!array_key_exists('email', $_POST) || $_POST['email'] == '' || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
        $errors['email'] = "Vous n'avez pas renseigné un email valide";
    }
    if(!array_key_exists('message', $_POST) || $_POST['message'] == '' ){
        $errors['message'] = "Vous n'avez pas renseigné votre message";
    }
    if(!empty($errors)){
        $_SESSION['errors'] = $errors;
        $_SESSION['inputs'] = $_POST;
        header('Location: boutique.php');
    }else{
      $_SESSION['success'] = 1;
      $headers = 'FROM: ' . $_POST['email'];
      mail($emails[$_POST], 'Formulaire de contact de ' . $_POST['name'], $_POST['message'], $headers);
      header('Location: boutique.php');
    }
    var_dump($errors);
    die();
    • Partager sur Facebook
    • Partager sur Twitter
      21 avril 2024 à 16:46:42

      Bonjour, Merci de lire les règles du forum AVANT de créer un sujet et d'écrire un titre de sujet en rapport avec votre problématique.

      Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
      Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

      Pour plus d'informations, nous vous invitons à lire les règles générales du forum

      Merci de colorer votre code à l'aide du bouton Code </>

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton  </> de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: php;">Votre code ici</pre>.

      Merci de modifier votre message d'origine en fonction.

      Mauvais titre

      Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.

      Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).

      De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.

      Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.

      Merci de modifier votre titre. Pour cela, éditez le premier message de votre sujet.

      (titre originel : Demande d'aide sur mon code php pour créer formula)

      Liens conseillés


      Bonjour, passez votre code HTML générer au validateur pour voir et corriger vos erreurs => https://validator.w3.org/

      On n'écrit pas un titre ni de paragraphe à l'intérieur d'un span.

      Pour écrire un titre de niveau 3 il faut un titre de niveau2 avant et bien évidement un titre de niveau1 qui précède. Les titres c'est comme les chapitres d'un livre on n'en saute pas.

      La balise <hr> crée un séparation thématique de contenu. Inutile donc d'écrire plusieurs balise <hr> à la suite, cela n'a aucun sens.

      Quels problèmes/erreurs rencontrez-vous?

      Édit : pour le site https://raphaelcoffin.fr/

      -
      Edité par AbcAbc6 21 avril 2024 à 17:20:21

      • Partager sur Facebook
      • Partager sur Twitter
        21 avril 2024 à 17:23:20

        Bonjour,

        Il manque toute une partie de code qui ne concerne pas mon sujet, je l'ai supprimé pour plus de simplicité.

        Merci pour le lien, je vais regarder.

        Mon problème est que le formulaire n'envoie pas les informations sur mon adresse mail (raphaelcoffin@gmx.fr).

        Quand je mets la page boutique.php sur mon site internet, celui-ci n'affiche même pas le formulaire.

        • Partager sur Facebook
        • Partager sur Twitter

        Demande d'aide sur mon code php pour créer formula

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown