Je ne comprends plus là, need help S.V.P

Bonjour,

J'ai créer un site Prestashop sur lequel j'ai rajouter un FreeBlock.

Dans ce freeblock j'ai inséré le code suivant :

1 <form action="modules/freeblock/sql-freeblock.php" method="post"
enctype="multipart/form-data">
<gras>2 <input type="checkbox" name="valid" id="valid" value="1"/> <label
for="valid">Désirez-vous recevoir une carte postale personalisé?</label><br />
3 <p>Veuillez saisir le message que vous souhaitez joindre.</p>
4 <input type="text" name="message">
5 <br>
6 <p>Pour optimiser la personnalisation de votre carte postale nous vous proposons
:</p>
7 <br>    
8 <input type="checkbox" name="img1" id="img1" value="1"/> <label
for="img1">Thème océan</label><br />
9 <img src="modules/freeblock/ocean.jpg" alt="ocean.jpg"/>
10 <br>    
11 <input type="checkbox" name="img2" id="img2" value="1"/> <label
for="img2">Thème montagne</label><br />
12 <img src="modules/freeblock/montagne.jpg" alt="montagne.jpg"/>
13 <br>    
14 <input type="checkbox" name="img3" id="img3" value="1"/> <label
for="img3">Thème campagne</label><br />
15 <img src="modules/freeblock/campagne.jpg" alt="campagne.jpg"/>
16 <br><br>
17 <input type="submit" name="submit" value="Envoyer le fichier" />
18 </form>

J'ai maintenant plusieurs problèmes: ( je met des screenshots pour montrer mes erreurs, cela fera plus Propre )

1°) Lorsque sur ma page je ne sélectionne que le thème Océan et que je clique sur suivant le message d'erreur suivant apparait :
https://imageshack.com/

2°) Lorsque je clique sur le thème montagne :
https://imageshack.com/

3°) Lorsque je clique sur le thème campagne:
https://imageshack.com/

4°) Si je sélectionne les 3 en même temps.
https://imageshack.com/

Ces erreurs, que sont elles ? Et comment puis je les modifier ?

Merci d'avoir pris le temps de lire ce Topic jusqu'au bout.

Merci pour votre aide, la, je suis perdu :/

3 réponses

  1. Bonjour,

    Ce code PHP pique un peu les yeux. il manque l'ouverture et la fermeture des zones prises en compte par les if. Ensuite, remplace les if($_POST) par des if(isset($_POST)).

    if(isset($_POST["img1"])){
       $img_confirmation = $_POST["img1"];
    }
    if(isset($_POST["img2"])){
       $img_confirmation = $_POST["img2"];
    }else{
       echo "toto";
    }
    if(isset($_POST["img3"])){
       $img_confirmation = $_POST["img3"]; 
    }


    Après, il faut que tu simplifies ta table avec un seul champ img_confirmation. Il faudra aussi simplifier ta requête SQL :

    $query = "INSERT INTO $table
    VALUES('$valid_confirmation','$message_confirmation','$img_confirmation')"; 

    1
    1. Bonjour,

      Il s'agit là d'erreur PHP. Le serveur t'indique qu'il ne connait pas les variables img1, img2, img3, img1_confirmation, img2_confirmation et img3_confirmation.

      Il faudrait que tu postes ton code php qu'on puisse t'aider correctement.
      0
      1. Alors voici le code Php qui est censé communiqué avec la BDD :

        <?php

        /* déclaration de quelques variables */
        $host = "localhost";
        $user = "root";
        $pass = "";
        $bdd = "prestashop";
        $table="ps_order_confirmation";

        /* connection avec MySQL */

        MYSQL_CONNECT($host,$user,$pass) or die("Impossible de se
        connecter à la base de données");
        @mysql_select_db("$bdd") or die("Impossible de se connecter à
        la base de données");

        $valid_confirmation = $_POST["valid"];
        $message_confirmation = $_POST["message"];
        if($_POST["img1"])
        $img1_confirmation = $_POST["img1"];
        if($_POST["img2"])
        $img1_confirmation = $_POST["img2"];
        else
        echo "toto";
        if($_POST["img3"])
        $img1_confirmation = $_POST["img3"];
        $submit_confirmation = $_POST["submit"];

        if ($submit = 1)
        {
        /* stockage dans la bdd */
        $query = "INSERT INTO $table
        VALUES('$valid_confirmation','$message_confirmation','$img1_confirmation','$img2_confirmation','$img3_confirmation')";
        $result = MYSQL_QUERY($query);
        print "Les information sont enrégistrées." ;
        }
        else
        {
        print "Vous ne désirez pas de carte personnalisée.";
        }

        ?>

        J'espère que cela pourra vous aider.
        0