IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Besoin d'aide pour ma syntaxe


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Analyste Développeur Aprenti
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Analyste Développeur Aprenti
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Besoin d'aide pour ma syntaxe
    Bonjour amis développeurs,

    Je suis débutant en développement PHP, je développe actuellement un Alumnus en html5/PHP7.0.
    Je fais un système de validation d'inscription par un administrateur.
    Cependant j'ai un gros soucis de syntaxe notamment sur l'utilisation de PDO pour faire mes requêtes SQL.

    Si une âme charitable pourrait se pencher dessus, j'en serais plus que ravie, de mon côté je suis au bord du gouffre. (de Helm Hihi)

    En vous remerciant par avance du reagard porté à mon égard,

    Stroow

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Peux-tu mettre ton code directement dans le message avec les balises CODE (bouton #) et nous indiquer les erreurs que tu obtiens ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Analyste Développeur Aprenti
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Analyste Développeur Aprenti
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Bizarrement j'avais mis un lien pastebin...

    M'enfin bon pas grave je le replace ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    <?php
     
        /* Connexion base de données */
        $bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', '');
        /*mysql_connect("localhost", "root", "");
        mysql_select_db("espace_membre");*/
     
        /* Récupération des pré-inscrits */
        $sql = "SELECT * FROM membres";
        $requete = $bdd->query($sql);
            /* Création entête de la table */
            echo'<table>
                <caption> Liste de membres en attente de validtion<hr></caption>
                <br>
                <thead>                
                    <tr>  
                        <th id="col0"> ID</th>
                        <th id="col1"> Pseudo</th>
                        <th id="col2"> E-Mail </th>
                        <th id="col3"> Mot de passe</th>
                        <th id="col4"> Action</th>                    
                    </tr>                    
                </thead>                               
                <tfoot>                                  
                </tfoot>
                <tbody>';
                /* Affichage des information des pré-inscrits */
                while ($row = $requete->fetch()) 
                {
                    echo '<tr>';
                        echo '<td id="col0" headers="col0">';
                            echo $row['id'];
                        echo '</td>';
     
                        echo '<td id="col1" headers="col1">';
                            echo $row['pseudo'];
                        echo '</td>';
     
                        echo '<td id="col2" headers="col2">';
                            echo $row['mail'];
                        echo '</td>';
     
                        echo '<td id="col3" headers="col3">';
                            echo $row['mdp'];
                        echo '</td>';
     
                        echo '<td id="col4" headers="col4">';
                        /*echo '<a href="validation.php?action=accepter&id='.$row["id"].'">Accepter</a>'; // Il y a une espace pour séparer les liens.*/
                            echo '<form action="Validation.php?action=accepter&id='.$row["id"].'" method="get">';
                            echo '<input type="submit" name="accepter" value="Accepter"';
                        /*echo '<a href="validation.php?action=refuser&id='.$row["id"].'">Refuser</a>';*/
                            echo '<form action="Validation.php?action=refuser&id='.$row["id"].'" method="get">';
                            echo '<input type="submit" name="refuser" value="Refuser"';
                        echo '</td>';
                    echo '</tr>';
                }    
                echo '</tbody>';
            echo '</table>';
     
        $requete->closeCursor();
     
        if(isset($_GET['action']) AND isset($_GET['id']))
        {
            $action = $_GET['action'];
            if ($action == "accepter")
            {
                $id = $_GET['id'];
                $requete2 = $bdd->query("SELECT * FROM membres WHERE id='$id'");
                $requete2->execute(array($requete2));
                $pseudo = $connexion['pseudo'];
                $mdp = $connexion['mdp'];
                $mail = $connexion['mail'];
     
                $bdd->query("INSERT INTO accepter VALUES('$id', '$pseudo', '$email', '$mdp')");
                $bdd->query("DELETE FROM membres WHERE id='$id'");
            }
            elseif($action == "refuser")
            {
                $id = $_GET['id'];
                $bdd->query("DELETE FROM membres WHERE id='$id'");
            }
        }
    ?>
    Ma première requête fonctionne niquel, j'arrive à récupérer mes données dans un tableau correcte.
    Au moment ou je clique sur le bouton "Accepter" ou "Refuser" rien ne se passe (Je pense que cela vient des deux dernière requête sql)

    En espérant que cela vous aide. =)

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Enlève ton mysql_select_db(), ça n'existe plus en PHP7.

    Ton formulaire est tout en vrac : tu as deux fois <form>, tu n'as pas de </form>, tes balises input ne sont pas fermées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <form action="Validation.php?id='.$row["id"].'" method="get">
    <input type="submit" name="action" value="Accepter" />
    <input type="submit" name="action" value="Refuser"' />
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     if(isset($_GET['action'],$_GET['id']))
        {
            $action = $_GET['action'];
    Attention à la sécurité, tes requêtes ne sont pas du tout protégés, il faut que tu te documentes sur les requêtes préparées.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Analyste Développeur Aprenti
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Analyste Développeur Aprenti
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Je vous remercie pour cette correction.

    Pour le mysql_select, oui j'étais en PHP 5.6 avant et quand je suis passé en 7.0( autant apprendre sur la dernière version) j'ai voulu changé et passer par PDO.

    J'ai corrigé l'oublie des "</form>" et "/>" faute d'inattention, on a toujours besoin d'un troisième œil ^^.
    Quand vous dites "requêtes non protégées" vous parlez d'injection de code?

    Je vais aller me renseigner plus sur les requêtes préparées, car je vous avoue que je mouline dans les requêtes en PDO...

    Stroow.

Discussions similaires

  1. [MySQL] Besoin d'aide pour corriger ma syntaxe
    Par pierrot10 dans le forum Général Python
    Réponses: 1
    Dernier message: 15/01/2017, 13h58
  2. [XL-2007] Besoin d'aide pour la syntaxe d'une formule
    Par Joseph67 dans le forum Excel
    Réponses: 3
    Dernier message: 26/07/2009, 21h01
  3. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo