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

PHP & Base de données Discussion :

transmettre les données méthode GET via un lien


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut transmettre les données méthode GET via un lien
    Bonjour,
    Je reviens vers vous car je na'i pas trouvé la solution à mon problème sur les forum.

    Je voudrai envoyé des données sur une page X, par un lien "<a></a>" donc en GET vers une autre page Y afin d'exécuter une requête. La Voici:
    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
     
              <?php
               ....
          		require ("Connect.php");
    		$requete = "SELECT id,titre,nom,date_nais,lieu_nais,dept_pays FROM afi_profil WHERE id=$_GET[id]";
    		$resultat = $db->query($requete);
    		$nb_lig_resultat = $resultat->num_rows;
    		$ligne = $resultat->fetch_assoc();
    		if ($resultat)
    		{
    		    echo ' N° '.$ligne['id'].':  '.$ligne['titre'].' '.strtoupper($ligne['nom']).";
                        echo ' Né(e) le '.$ligne['date_nais'].', '.$ligne['lieu_nais'].' -  '.strtoupper($ligne['dept_pays']).'';
                     }
           .....
            ?>
    Malheureusement j'ai 2 messages d'erreurs:
    Notice: Trying to get property of non-object
    Fatal error: Call to a member function fetch_assoc() on boolean in
    Je n'ai pas trouver la solution, ma requête ne s’exécute toujours pas. Pourriez vous m'aider sans être trop technique, je serai perdu sinon ? Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ Vérifier que $_GET[id] existe bien, avec isset() ou !empty(), par exemple.

    2/ écrire : $_GET['id']

    3/ NE JAMAIS METTRE DIRECTEMENT DANS UNE REQUETE des données provenant de $_GET ou $_POST !!
    c'est une faille de sécurité majeure... et basique !

    => utiliser une requête PREPAREE.

    Exemple :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if( !empty($_GET['id']) && is_numeric($_GET['id']) )
    {
    		$requete = "SELECT id,titre,nom,date_nais,lieu_nais,dept_pays FROM afi_profil WHERE id = :id";
    		$pdo_select = $db->prepare($requete);
    		$resultat = $pdo_select->execute( array( 
    			':id' => $_GET[id]
    		));
       ...
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut
    MERCI pour ta réponse!

    NE JAMAIS METTRE DIRECTEMENT DANS UNE REQUETE des données provenant de $_GET ou $_POST !!
    c'est une faille de sécurité majeure... et basique !
    1/Ne pas utiliser $_GET, je comprends, ne pas utiliser $_POST cela m'étonne. Comment faire autrement?

    2/Qu'est qu'une requête préparée?

  4. #4
    Invité
    Invité(e)
    Par défaut
    1/ Je n'ai jamais dit de "ne pas les utiliser".

    Il faut cependant BIEN PROTEGER ses requêtes, en controlant les données reçues.
    La règle étant de NE JAMAIS FAIRE CONFIANCE à personne !

    2/ Quant aux "requête préparée", j'ai mis un exemple.
    Pour en savoir plus : "PDO requête préparée"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. transmettre les données dans une popup
    Par nebil dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/08/2008, 14h44
  2. [Tableaux] les données de la table en lien
    Par afrodje dans le forum Langage
    Réponses: 5
    Dernier message: 02/05/2007, 15h13
  3. [MySQL] transmettre les données d'un formulaire à un script php à l'aide svp
    Par momoh dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/04/2007, 15h30
  4. Réponses: 2
    Dernier message: 16/02/2007, 12h09
  5. Transmettre des données à un executable via visual basic
    Par kantelise dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/12/2005, 08h59

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