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 :

Passage de paramètres dans l'URL [MySQL]


Sujet :

PHP & Base de données

  1. #41
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Désormais, je pense avoir bien géré l'enregistrement.
    Voici les
    table utilisateur

    Code sql : 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
    CREATE TABLE IF NOT EXISTS `test_site_utilisateur` (
      `id_utilisateur` int(11) NOT NULL AUTO_INCREMENT,
      `nom_etablissement_utilisateur` varchar(255) CHARACTER SET utf8 NOT NULL,
      `nom_utilisateur` varchar(255) CHARACTER SET utf8 NOT NULL,
      `prenom_utilisateur` varchar(255) CHARACTER SET utf8 NOT NULL,
      `date_naissance_utilisateur` date NOT NULL,
      `civilite_utilisateur` varchar(12) CHARACTER SET utf8 NOT NULL,
      `sexe_utilisateur` varchar(8) CHARACTER SET utf8 NOT NULL,
      `acces_utilisateur` int(11) NOT NULL DEFAULT '5',
      `email_utilisateur` varchar(255) CHARACTER SET utf8 NOT NULL,
      `pseudo_utilisateur` varchar(255) CHARACTER SET utf8 NOT NULL,
      `password_utilisateur` varchar(255) CHARACTER SET utf8 NOT NULL,
      `code_postal_etablissement_utilisateur` varchar(5) CHARACTER SET utf8 NOT NULL,
      `classe_utilisateur` varchar(255) CHARACTER SET utf8 NOT NULL,
      `matiereenseignee_utilisateur` varchar(255) CHARACTER SET utf8 NOT NULL,
      `ville_etablissement_utilisateur` varchar(255) CHARACTER SET utf8 NOT NULL,
      `date_inscription_utilisateur` datetime NOT NULL,
      `date_derniere_connexion_utilisateur` datetime NOT NULL,
      `date_creation_classe_utilisateur` datetime NOT NULL,
      PRIMARY KEY (`id_utilisateur`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;

    table cours/tp

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE IF NOT EXISTS `test_site_cours_tp` (
      `id_cours_tp` int(11) NOT NULL AUTO_INCREMENT,
      `date_depot_cours_tp` datetime NOT NULL,
      `date_cloture_validation_cours_tp` datetime NOT NULL,
      `titre_cours_tp` varchar(255) CHARACTER SET utf8 NOT NULL,
      `contenu_cours_tp` longtext CHARACTER SET utf8 NOT NULL,
      `type_devoir_cours_tp` int(11) NOT NULL DEFAULT '1',
      `matiere_cours_tp` varchar(255) CHARACTER SET utf8 NOT NULL,
      `nom_auteur_cours_tp` varchar(255) CHARACTER SET utf8 NOT NULL,
      `classe_cours_tp` varchar(255) CHARACTER SET utf8 NOT NULL,
      PRIMARY KEY (`id_cours_tp`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;

    table relationnelle

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE IF NOT EXISTS `test_site_relation_cours_tp_utilisateur` (
      `id_rel_cours_user` int(11) NOT NULL AUTO_INCREMENT,
      `id_cours_tp` int(11) NOT NULL,
      `id_utilisateur` int(11) NOT NULL,
      PRIMARY KEY (`id_rel_cours_user`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

    J'essaye d'adapter cette requête SQL :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT(t1.id_cours_tp), t3.titre_cours_tp, t3.matiere_cours_tp, t3.classe_cours_tp, t3.date_depot_cours_tp, contenu_cours_tp, t3.nom_auteur_cours_tp, type_devoir_cours_tp, t3.date_cloture_validation_cours_tp FROM test_site_utilisateur t1 LEFT JOIN test_site_cours_tp t3 ON t1.id_cours_tp = t3.id_cours_tp WHERE t1.pseudo_utilisateur='$pseudo_utilisateur' AND t3.type_devoir_cours_tp='1' ORDER BY date_cloture_validation_cours_tp
    qui permet de sélectionner les Cours/TP.

    Pouvez-vous m'aider SVP ?

  2. #42
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    manifestement, tu ne comprends pas toi-même ce que tu fais.
    Pas étonnant donc que tu n'arrives pas à nous l'expliquer.

    1 Bon Point cependant : tes TABLES sont OK
    Maintenant, il faut apprendre à s'en servir.

    N.B. Arrête de lancer des requêtes en l'air, en espérant qu'elles retomberont sur leurs pattes.

    Voilà les relations entre les 3 tables :
    test_site_utilisateur <- id_utilisateur -> test_site_relation_cours_tp_utilisateur <- id_cours_tp -> test_site_cours_tp
    test_site_utilisateur et test_site_cours_tp ne sont pas directement reliées.
    Il faut passer par test_site_relation_cours_tp_utilisateur.
    Dernière modification par Invité ; 21/09/2013 à 11h42.

  3. #43
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    J'ai modifié la requête SQL, la voici :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT(t3.id_cours_tp), t3.titre_cours_tp, t3.matiere_cours_tp, t3.classe_cours_tp, t3.date_depot_cours_tp, contenu_cours_tp, t3.nom_auteur_cours_tp, type_devoir_cours_tp, t3.date_cloture_validation_cours_tp FROM test_site_utilisateur t1,  test_site_relation_cours_tp_utilisateur t2 LEFT JOIN test_site_cours_tp t3 ON t2.id_cours_tp = t3.id_cours_tp WHERE t1.pseudo_utilisateur='$pseudo_utilisateur' AND t3.type_devoir_cours_tp='1' ORDER BY date_cloture_validation_cours_tp
    .

    Et ça fonctionne !!! Le bon cours s'affiche et uniquement celui-là !!!


    Par contre, il faut rajouter une protection pour éviter que si l'utilisateur change l'identifiant du cours dans l'URL, ça affiche l'autre cours.

    Comment faire ?

  4. #44
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par vinceom92 Voir le message
    Par contre, il faut rajouter une protection pour éviter que si l'utilisateur change l'identifiant du cours dans l'URL, ça affiche l'autre cours.
    Comment faire ?
    C'est pour ça que j'avais proposé (4ème message !) de remplacer les liens <a> par des <form>.

    Mais comme tu ne veux pas faire les choses dans l'ordre...
    Dernière modification par Invité ; 21/09/2013 à 12h09.

  5. #45
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Ok, je vais le faire.

    Voici la boucle qui permet d'afficher le lien avec l'id du cours en paramètre :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    while ($donnees_cours_tp_eleve = mysql_fetch_assoc($query_selection_cours_tp_eleve)) {
    	echo '<a href="adresse.php?id_cours_tp='. $donnees_cours_tp_eleve['id_cours_tp'] .'" target="_blank" id="lien_cours_tp">'.$donnees_cours_tp_eleve['titre_cours_tp'].'</a>';
    }

    Je remplace le
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="adresse.php?id_cours_tp='. $donnees_cours_tp_eleve['id_cours_tp'] .'"
    par
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="POST"
    et le par ?

  6. #46
    Invité
    Invité(e)
    Par défaut
    Ca devient sérieusement pénible.

    Tu n'es pas capable d'afficher un bout de code complet et cohérent ?

  7. #47
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Voici les codes :

    De la page qui recense les cours :
    La requête SQL :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    	$query_selection_cours_tp_eleve = mysql_query("SELECT DISTINCT(t3.id_cours_tp), t3.titre_cours_tp, t3.matiere_cours_tp, t3.classe_cours_tp, t3.date_depot_cours_tp, contenu_cours_tp, t3.nom_auteur_cours_tp, type_devoir_cours_tp, t3.date_cloture_validation_cours_tp FROM test_site_utilisateur t1,  test_site_relation_cours_tp_utilisateur t2 LEFT JOIN test_site_cours_tp t3 ON t2.id_cours_tp = t3.id_cours_tp WHERE t1.pseudo_utilisateur='$pseudo_utilisateur' AND t3.type_devoir_cours_tp='1' ORDER BY date_cloture_validation_cours_tp") or die ('Erreur lors de la requête SQL qui permet de récupérer les Cours/TP d\'un élève.'); // Envoie une requête à un serveur MySQL
    Le test :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(mysql_num_rows($query_selection_cours_tp_eleve)>0) {
       echo 'début du tableau';
    while ($donnees_cours_tp_eleve = mysql_fetch_assoc($query_selection_cours_tp_eleve)) {
    	echo '<a href="cours_tp.php?id_cours_tp='. $donnees_cours_tp_eleve['id_cours_tp'] .'" target="_blank" id="lien_cours_tp">'.$donnees_cours_tp_eleve['titre_cours_tp'].'</a>';
    }
    	echo 'fin du tableau';
    }
    De la page qui affiche le bon cours :
    Les requêtes SQL :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	// Sélectionnement de l'identifiant de l'élève connecté
    	$selection_identifiant_id_eleve_connecte = mysql_query("SELECT pseudo_utilisateur,id_utilisateur FROM test_site_utilisateur WHERE pseudo_utilisateur='$pseudo_utilisateur' AND (acces_utilisateur='1' OR acces_utilisateur='5')") or die ('Erreur lors de la requête SQL qui permet de sélectionner l\'élève connecté.'); // Envoie une requête à un serveur MySQL
    	// Sélectionnement du bon Cours/TP
    	$selection_cours_tp = mysql_query("SELECT DISTINCT(date_depot_cours_tp),titre_cours_tp,contenu_cours_tp,matiere_cours_tp,nom_auteur_cours_tp,classe_cours_tp FROM test_site_cours_tp,test_site_utilisateur WHERE pseudo_utilisateur='$pseudo_utilisateur' AND type_devoir_cours_tp='1' AND (acces_utilisateur='1' OR acces_utilisateur='5') AND id_cours_tp='$id_cours_tp'") or die("Erreur sur la requête SQL qui sélectionne toutes les informations du Cours/TP (sauf les questions)."); 
    	// Sélectionnement des bonnes questions par rapport au Cours/TP
    	$selection_questions_cours_tp = mysql_query("SELECT DISTINCT(texte_question_cours) FROM test_site_questions t1,test_site_utilisateur t2, test_site_cours_tp t3 WHERE pseudo_utilisateur='$pseudo_utilisateur' AND t1.titre_cours =t3.titre_cours_tp AND t3.type_devoir_cours_tp='1' AND type_devoir_cours_tp='1' AND (acces_utilisateur='1' OR acces_utilisateur='5')") or die("Erreur sur la requête SQL qui sélectionne les questions du Cours/TP.");
    Le test :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $id_cours_tp = intval($_GET['id_cours_tp']);
    if(mysql_num_rows($selection_identifiant_id_eleve_connecte)==1) {
    while ($donnees_cours_tp_eleve = mysql_fetch_array($selection_cours_tp)) {
    	echo '<header>'.$_SESSION['titre_cours_tp'].'</header>';
    	echo html_entity_decode($donnees_cours_tp_eleve['classe_cours_tp']);
    	echo html_entity_decode($donnees_cours_tp_eleve['matiere_cours_tp']);
    	echo html_entity_decode($donnees_cours_tp_eleve['date_depot_cours_tp']);
    	echo html_entity_decode($donnees_cours_tp_eleve['titre_cours']);
    	echo html_entity_decode($donnees_cours_tp_eleve['contenu_cours_tp']);
    	echo "<footer>".html_entity_decode($donnees_cours_tp_eleve['nom_auteur_cours_tp']."</footer>");
    }
    }

  8. #48
    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
    Il manque toujours des jointures sur la requête.
    Est-ce la peine de lire la suite ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #49
    Invité
    Invité(e)
    Par défaut
    • $pseudo_utilisateur sort de ton chapeau ?
    • 3 requêtes de suite ?
    • html_entity_decode() ???


    Et on ne dit pas "Sélectionnement", mais "Sélectionnerie".

    Je ressors ma citation fétiche :
    "Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
    Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.

  10. #50
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Il manque toujours des jointures sur la requête.
    Est-ce la peine de lire la suite ?
    Lesquelles ?

    Pourtant, maintenant tout marche (presque) : le bon cours et uniquement celui-ci s'affiche.

    Il ne manque plus qu'à ajouter une protection pour éviter que si l'utilisateur change l'identifiant du cours dans l'URL, ça affiche ce cours.
    Sur ce point, j'ai besoin de votre aide. Jreaux62 me dit qu'il faut changer les par des
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="" method="" /><input type="hidden" name="" value="" /></form>
    mais...

    On a réglé le principal, il faudrait régler le problème du changement de l'URL...

  11. #51
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo '<form action="cours_tp.php" method="post" />
    	<input type="hidden" name="id_cours_tp" value="'.htmlspecialchars($donnees_cours_tp_eleve['id_cours_tp']).'" />
    	<input type="submit" name="cours_tpok" value="'.htmlspecialchars($donnees_cours_tp_eleve['titre_cours_tp']).'" />
    </form>';
    id_cours_tp est récupéré en $_POST (et plus en $_GET).

    N.B. Si tu es obligé d'utiliser html_entity_decode() sur les données enregistrées en BdD, c'est qu'elles n'ont pas été correctement enregistrées.

  12. #52
    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
    Comme je ne voudrais pas que cette discussion s'arrête trop vite, je précise que mettre un formulaire au lieu d'un lien ne protège pas vraiment, cela complique seulement un peu.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #53
    Invité
    Invité(e)
    Par défaut
    Ca évite d'afficher id_cours_tp dans l'URL.
    Citation Envoyé par vinceom92 Voir le message
    ... ajouter une protection pour éviter que si l'utilisateur change l'identifiant du cours dans l'URL...
    CQFD.
    Mais, en effet, ça ne "protège" pas la données.

    Quant aux requêtes, écris-les proprement et clairement : c'est plus facile à lire et à déboguer.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $query_selection_cours_tp_eleve = mysql_query("SELECT 
    	DISTINCT(t3.id_cours_tp), t3.titre_cours_tp, t3.matiere_cours_tp, t3.classe_cours_tp, t3.date_depot_cours_tp, 
    	t3.contenu_cours_tp, t3.nom_auteur_cours_tp, t3.type_devoir_cours_tp, t3.date_cloture_validation_cours_tp 
    	FROM test_site_relation_cours_tp_utilisateur t2  
    	LEFT JOIN test_site_utilisateur t1
    		ON t2.id_utilisateur = t1.id_utilisateur 
    	LEFT JOIN test_site_cours_tp t3 
    		ON t2.id_cours_tp = t3.id_cours_tp 
    	WHERE t1.pseudo_utilisateur='$pseudo_utilisateur' 
    	AND t3.type_devoir_cours_tp='1' 
    	ORDER BY date_cloture_validation_cours_tp
    	") OR die ('Erreur lors de la requête SQL qui permet de récupérer les Cours/TP d\'un élève.'); // Envoie une requête à un serveur MySQL
    Ici, en l'occurence :
    pourquoi faire appel à la table test_site_utilisateur, alors que tu n'en demandes aucun champ ?
    SEUL id_utilisateur est utile dans cette requête pour trouver les cours de CET utilisateur.
    ET le lien relationnel entre les tables "test_site_cours_tp" et "test_site_relation_cours_tp_utilisateur" suffit.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $query_selection_cours_tp_eleve = mysql_query("SELECT 
    	DISTINCT(t3.id_cours_tp), t3.titre_cours_tp, t3.matiere_cours_tp, t3.classe_cours_tp, t3.date_depot_cours_tp, 
    	t3.contenu_cours_tp, t3.nom_auteur_cours_tp, t3.type_devoir_cours_tp, t3.date_cloture_validation_cours_tp 
    	FROM test_site_relation_cours_tp_utilisateur t2  
    	LEFT JOIN test_site_cours_tp t3 
    		ON t2.id_cours_tp = t3.id_cours_tp 
    	WHERE t2.pseudo_utilisateur='$pseudo_utilisateur' 
    	AND t3.type_devoir_cours_tp='1' 
    	ORDER BY date_cloture_validation_cours_tp
    	") OR die ('Erreur lors de la requête SQL qui permet de récupérer les Cours/TP d\'un élève.'); // Envoie une requête à un serveur MySQL
    Dernière modification par Invité ; 21/09/2013 à 15h25.

  14. #54
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Merci, ça marche !!
    Citation Envoyé par jreaux62 Voir le message
    Ca évite d'afficher id_cours_tp dans l'URL.
    CQFD.
    Mais, en effet, ça ne "protège" pas la données.
    Qu'est-ce qu'il faut faire pour protéger les données ? Il faut mettre
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_real_escape_string
    , , pour protéger les champs texte, non ?

  15. #55
    Invité
    Invité(e)
    Par défaut
    Non seulement tu prouves que tu ne connais pas à quoi servent les fonctions, mais tu ne sais même pas définir "protéger".
    • "protéger" quoi ?
    • "protéger" DE quoi ?
    • "protéger" pourquoi ?
    • "protéger" quand ?

    Les fonctions :

    Je te laisse en trouver d'autres...

    Une SEULE RÈGLE à respecter :
    Ne JAMAIS avoir une confiance aveugle dans les données transmises ! (et encore moins dans ceux qui les transmettent)
    TOUJOURS les contrôler.

  16. #56
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    [*]"protéger" quoi ?
    On protège les champs texte et les données.
    Citation Envoyé par jreaux62 Voir le message
    [*]"protéger" DE quoi ?
    D'injections SQL.
    Citation Envoyé par jreaux62 Voir le message
    [*]"protéger" pourquoi ?
    Pour éviter que les pirates aient accès à la base de données d'où ils pourront tout détruire.
    Citation Envoyé par jreaux62 Voir le message
    [*]"protéger" quand ?
    Quand il y a un lien avec la base de données.

  17. #57
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    pour
    requete (entre autre, mais partout?) $query_selection_cours_tp_eleve="..."

    la recherche ce fait par "pseudo_utilisateur"
    bien sur pas de clé sur ce champ (meme pas unique ) ! et pourquoi ne pas utiliser directement id_utilisateur ?
    $moi= ( !== ) ? : ;

  18. #58
    Invité
    Invité(e)
    Par défaut
    • mysql_real_escape_string() va servir de protection au moment d'enregistrer en BdD (avec une connexion mysql_).
    • htmlspecialchars() ou htmlentities() : au moment d'afficher les données dans le code html.

    Il y en a d'autres, notamment quand il s'agit de réceptionner/vérifier des données d'un formulaire.
    Voir aussi : Validate filters

    Tu auras compris, j'espère, que telle ou telle "protection" va dépendre du contexte.

  19. #59
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    @vinceom92

    pour la protection,
    puisque les visiteurs sont logués,

    en debut de chaque page vérifier si le "visiteur" est bien logué, sinon exit
    avant chaque ecriture dans la bd : reverifier si visiteur logué a bien les bons droits (un utilisateur ne peut modifier que ses données...)
    $moi= ( !== ) ? : ;

  20. #60
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    En mettant cette requête SQL :
    Citation Envoyé par jreaux62 Voir le message
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $query_selection_cours_tp_eleve = mysql_query("SELECT 
    	DISTINCT(t3.id_cours_tp), t3.titre_cours_tp, t3.matiere_cours_tp, t3.classe_cours_tp, t3.date_depot_cours_tp, 
    	t3.contenu_cours_tp, t3.nom_auteur_cours_tp, t3.type_devoir_cours_tp, t3.date_cloture_validation_cours_tp 
    	FROM test_site_relation_cours_tp_utilisateur t2  
    	LEFT JOIN test_site_utilisateur t1
    		ON t2.id_utilisateur = t1.id_utilisateur 
    	LEFT JOIN test_site_cours_tp t3 
    		ON t2.id_cours_tp = t3.id_cours_tp 
    	WHERE t1.pseudo_utilisateur='$pseudo_utilisateur' 
    	AND t3.type_devoir_cours_tp='1' 
    	ORDER BY date_cloture_validation_cours_tp
    	") OR die ('Erreur lors de la requête SQL qui permet de récupérer les Cours/TP d\'un élève.'); // Envoie une requête à un serveur MySQL
    , cette erreur apparait :
    debug : #1054 - Unknown column 't2.pseudo_utilisateur' in 'where clause'{"success":false,"error":"
    #1054 - Unknown column 't2.pseudo_utilisateur' in 'where clause'<\/div>"}

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

Discussions similaires

  1. passages de paramètres dans l'url
    Par anchain dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2008, 13h58
  2. [1.5][Zend_Controller] Passage de paramétres dans l'url
    Par Jonathan.b dans le forum Zend Framework
    Réponses: 4
    Dernier message: 16/04/2008, 19h37
  3. Passage de paramètre dans l'url
    Par ..::snake::.. dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/01/2008, 09h52
  4. passage de paramètre dans une url
    Par samira84 dans le forum Struts 1
    Réponses: 5
    Dernier message: 12/06/2007, 15h52
  5. erreur de passage de paramètre dans une urL
    Par lodan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/02/2007, 12h29

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