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. #61
    Invité
    Invité(e)
    Par défaut
    En fait, c'était l'autre proposition de requête qui cause l'erreur.
    Je n'avais pas vu t2.pseudo_utilisateur.

    Je me demande bien ce qu'il fait là, d'ailleurs.
    Encore un problème de conception (de compréhension ?).

    On t'a dit (et répété !) que c'est id_utilisateur qui IDENTIFIE à coup sûr l'utilisateur, et qu'il faut le mettre dans une variable de SESSION.

    Allez ! Courage !

  2. #62
    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
    Quelle autre requête ?!

  3. #63
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 105
    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 105
    Points : 4 455
    Points
    4 455
    Par défaut
    toutes,
    "pseudo_utilisateur" ne doit etre utilisé que pour le premier login et affichage du pseudo
    $moi= ( !== ) ? : ;

  4. #64
    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 toutes les requêtes SQL :

    De la page qui liste les cours :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $query_recuperation_identifiant_connecte = mysql_query("SELECT id_utilisateur FROM test_site_utilisateur WHERE  pseudo_utilisateur='$pseudo_utilisateur'") or die ('Erreur lors de la requête SQL qui permet de récupérer l\'identifiant connecté.'); // Envoie une requête à un serveur MySQL
     
    $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
    De la page qui affiche le cours :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $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
     
    $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)."); 
     
    $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.");

  5. #65
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 105
    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 105
    Points : 4 455
    Points
    4 455
    Par défaut
    de la 2eme a la 5eme
    PAS de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE ... pseudo_utilisateur=
    mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE ... "id_utilisateur"...
    mais meme la première, ce n'est pas suite a un login (pas de password) ? donc devrais peut-etre etre aussi avec id_utilisateur

    on te parle de id_utilisateur depuis le tout debut, sommes a la 4eme page(63 messages) du post et tu n'as toujours pas compris (ni meme essayé). Pourtant id_utilisateur a été mit en rouge plusieurs fois...
    $moi= ( !== ) ? : ;

  6. #66
    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
    Et les jointures ne sont toujours pas faites.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #67
    Invité
    Invité(e)
    Par défaut
    Un JOIN, c'est ça :



    Ou ça : MAMIE'S JOIN



    Je pense que je vais sympathiser fumer le Calumet de la Paix avec Mamie...

    Ensuite ? J'irai dîner... "au Chien Qui Fume" !!

  8. #68
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 105
    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 105
    Points : 4 455
    Points
    4 455
    Par défaut
    suis sur qu'il fume vinceom92

    mais suis gentil je pense que c'est la tête qui surchauffe
    $moi= ( !== ) ? : ;

  9. #69
    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 papajoker Voir le message
    suis sur qu'il fume vinceom92

    mais suis gentil je pense que c'est la tête qui surchauffe
    Désolé les gars mais je pense que tu as raison pour la tête !

    Je veux bien remplacer les pseudo_utilisateur par id_utilisateur dans les mais je les compare à quoi (donc ?

    Sur la page qui liste les cours, je veux bien faire ça
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE id_utilisateur='$query_recuperation_identifiant_connecte'
    car il y a la requête SQL :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id_utilisateur FROM test_site_utilisateur WHERE  pseudo_utilisateur='$pseudo_utilisateur'
    et encore puisque quand je le fais, une page blanche s'affiche. Je vous mets les deux requêtes SQL :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    	$query_recuperation_identifiant_connecte = mysql_query("SELECT id_utilisateur FROM test_site_utilisateur WHERE  pseudo_utilisateur='$pseudo_utilisateur'") or die ('Erreur lors de la requête SQL qui permet de récupérer l\'identifiant connecté.'); // Envoie une requête à un serveur MySQL
    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.id_utilisateur='$query_recuperation_identifiant_connecte' 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

    Pourquoi ?

  10. #70
    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
    Tu nous montres encore une requête ou les jointures ne sont pas faites.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #71
    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
    Pouvez-vous m'aider à les transformer SVP ?

    Hier, j'ai modifié une requête en remplaçant pseudo_utilisateur par id_utilisateur dans la clause , une page blanche s'est affichée au lieu d'être comme avant.

  12. #72
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je t'ai DÉJÀ donné un exemple ici.
    Je t'ai aussi dit de les écrire plus clairement (passages à la ligne).

    Mais je ne suis pas persuadé que tu comprennes les corrections/explications qu'on te donne.
    Si on ne te fourni pas un code tout fait, tu ne semble pas capable de l'écrire toi-même.
    Vrai ou faux ?

    Peux-tu nous dire ton age ? Ou dans quelle classe tu es ?
    Dernière modification par Invité ; 22/09/2013 à 09h29.

  13. #73
    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
    Cette requête SQL :
    Code sql : 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
    ne fonctionne pas.

  14. #74
    Invité
    Invité(e)
    Par défaut
    Je sais. Et je sais pourquoi. (et j'ai déjà répondu...)

    Et toi ?

  15. #75
    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
    C'est parce qu'il ne trouve pas pseudo_utilisateur dans la table test_site_relation_cours_tp_utilisateur.

  16. #76
    Invité
    Invité(e)
    Par défaut
    Exact.

    Et donc ? Comment corriger ?

  17. #77
    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
    Comme ça :
    Code sql : 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.id_utilisateur='$query_recuperation_identifiant_connecte' 
    	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

    Voici la requête SQL $query_recuperation_identifiant_connecte :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id_utilisateur FROM test_site_utilisateur WHERE  pseudo_utilisateur='$pseudo_utilisateur'
    ?

    PS : Sur PHPMyAdmin, cette requête SQL fonctionne mais quand je l'essaye sur la page, je n'ai pas de message d'erreur mais une page blanche...

  18. #78
    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
    Finalement, je crois que j'ai trouvé : il ne supporte pas qu'on fasse appel par une variable.

    J'ai mis cette requête SQL :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	$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.id_utilisateur IN (SELECT id_utilisateur FROM test_site_utilisateur WHERE  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

    Peux-tu me dire si c'est bon cette fois STP ? Si oui, je ferai pareil avec les autres requêtes SQL avant de les poster pour que vous vérifiez si c'est bon, mieux protégé...

  19. #79
    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
    Au risque de répéter encore ce qu'on t'a déjà dit tout au long de ces 4 pages :
    - quand un utilisateur se connecte il fourni son pseudo
    - tu vérifies son authentification et tu récupères son id dans la bdd
    - à partir de là, tu n'as plus besoin d'aller recroiser son pseudo dans les requêtes puisque tu as directement l'id

    Donc
    - la recuperation de l'id de l'utilisateur se fait une fois pour toute : tu ne le fais pas dans chaque requête ni sur chaque page
    - si ton $query_recuperation_identifiant_connecte ne fonctionne pas, c'est qu'il ne contient pas l'id_utilisateur ; as-tu au moins contrôllé ce qu'il vallait ? Ca s'appelle faire le debugage minimum
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #80
    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
    Au risque de répéter encore ce qu'on t'a déjà dit tout au long de ces 4 pages :
    - quand un utilisateur se connecte il fourni son pseudo
    - tu vérifies son authentification et tu récupères son id dans la bdd
    - à partir de là, tu n'as plus besoin d'aller recroiser son pseudo dans les requêtes puisque tu as directement l'id
    donc :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	$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.id_utilisateur IN (SELECT id_utilisateur FROM test_site_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

    ?

+ 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