fonction get (concernant des engins de chantier)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fonction get (concernant des engins de chantier)

par graffx » 27 déc. 2008, 14:52

Hello, merci ^^


Alors voila, ton code fonctionne a un detail prés. Lorsque je clique sur les liens, je n' ai rien qui s' affiche en dessous concernants les articles stockés dans la bdd Oo. Aurais-je oublié quelque chose?? :roll:

par niuxe » 24 déc. 2008, 20:16

Salut graffx,

là, je viens de rééditer la correction que j'ai faite ces jours ci. Je te propose de faire un copier/coller sur un nouveau fichier ou d'effacer ton ancien fichier. Il est évident que le fichier doit s'appeler : afficher_articles.php.

J'ai fait de tête les petites corrections. Là où je suis je n'ai pas la possibilité de faire un test. Toutefois, hier soir, tu m'as mis dans le doute et j'ai fait un test à la maison. Même sans utiliser la superglobales $_SERVER['PHP_SELF'], j'avais un résultat convaincant. Je pense que tu as dû faire une petite coquille qui te coince.

++ et bon Noël à toi

par graffx » 24 déc. 2008, 00:11

alors afficher_articles.php, oui , j' ai bien une page blanches avec mon menu (du code plus haut), par contre comme je n' ai pas su ou mettre ma requete, j' ai une page blanche apres le menu, normal.

Mais lorsque je clique sur un des liens, par exemple:


afficher_articles.php?categorie=dumpers >>>> erreur 404 Oo

par niuxe » 23 déc. 2008, 21:57

Salut,

Je crois avoir compris ton petit soucis. En effet, une erreur 404 est une page introuvable. La page que je t'ai corrigée, ne l'est pas tout à fait. Il y a un petit soucis dû à une petite maladresse. Je n'ai pas vu en ammont que ta variable d'url n'est pas « afficher_categorie » mais plutôt « categorie ». Donc automatiquement, $_GET['afficher_categorie'] donne rien ! Alors que $_GET['categorie'] doit te donner un résultat (mini-pelles ou rouleaux ou dumpers).

Est ce lorsque tu cliques par exemple sur afficher_articles.php?categorie=rouleaux, tu tombes sur une erreur 404 ?
Est ce que le fichier que je t'ai corrigé se nome afficher_articles.php ?

Petites questions subsidiaires :

As tu essayé ta query dans phpmyadmin ?
Est ce que tu as eu un résultat convaincant ?

++

par graffx » 23 déc. 2008, 20:00

pourtant c' est le meme code que celui plus haut ^^

par orgerix » 23 déc. 2008, 19:36

Une erreur 404 indique que la page demandée n'existe pas. Ce n'est dans pas une erreur dans le script vu que le serveur n'y accède pas.

Vérifie que tu tape bien la bonne adresse. Pëut être as tu fait entre temps des changement dans l'organisation des fichiers, mais en tout cas, ce n'est pas du à ta requete.

par graffx » 23 déc. 2008, 19:23

Coucou Nolem!

voici ma requete toute simple:
"SELECT id, nom, descriptif, tarifht, tarif FROM articles WHERE categorie='Mini-pelles'"


Je ne comprend pas comment il est possible d' avoir une erreur 404 sur ce type de code, et je n' arrive pas a bien placer ma query aussi T-T


Sinon, je souhaite a tous les membres (équipe de php-france comprise ;)), un énorme joyeux noël.


J' aimerai préciser aussi, par éxperience, et concernant tous les domaines informatiques, qu' il est rare d' avoir un forum aussi accueillant, sans grosses têtes qui vous répliquent à la première occasion "recherche sur google ou éssaie de trouver par toi-même". Malheureusement, c' est le cas sur les 3/4 des sites qui proposent (soit-disant) de l' aide.


Je ferai une bannière pour votre forum sur mon site perso dés que j' y retoucherai.


ps: j' éspère que vous avez été sage, et pensez à éteindre vos cheminées :lol:

par niuxe » 22 déc. 2008, 23:18

Peux tu mieux expliquer ton soucis ou mettre ta query qui fait défaut.

++

par graffx » 22 déc. 2008, 22:00

up? :roll:

par graffx » 21 déc. 2008, 14:01

Merci pour tes conseils, j' ai enregistré (enfin j' éspère)! :D


Sinon merci pour ton bout de code, mon menu s' affiche a merveille, il me reste plus qu' a trouver comment lui donner la requete, car pour l' instant j' ai une erreur 404, ce qui est normal! :)


Je cherche et je tiens au courant!


Merci ^^


edit: bon sang de bois! je n' y arrive pas >< j' ai pourtant mis ma requeteentre les < et >, mais j' ai une erreur 404 lorsque j' essaie Oo

par niuxe » 21 déc. 2008, 12:38

Salut,

Comme convenu, je t'ai fait une correction rapide* :
<?php	
if (!empty($_GET['categorie'])){
	switch($_GET['categorie']){
    	case "mini-pelles": 
			$categorie="Mini-pelles";
			break;
		case "dumpers":
			$categorie="dumpers";
			break;
		case "rouleaux":
			$categorie="rouleaux";
			break;
	}
}
$categorie=htmlentities($categorie); //protection contre balises html nocives
				
mysql_connect("sql", "login", "mdp")or die ("erreur de connexion"); // Connexion à MySQL
mysql_select_db("mabase")or die("erreur de connexion base"); // Sélection de la base
$sql="SELECT id, nom, descriptif, tarifht, tarif "; 
$sql.="FROM articles ";
$sql.="WHERE categorie='".mysql_real_escape_string($categorie)."'"; //protection contre injection sql
$reponse = mysql_query($sql);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>j' apprend le php avec phpfrance.com</title>
</head>

<body>
<?php
while ($donnees = mysql_fetch_array($reponse)){
//la suite du script est manquante et je me suis permis d'anticiper !
	for($i=0,$nb=count($donnes);$i<$nb;$i++){
		echo $donnees[$i]."<br />";
	}
}
?>
<p><a href="afficher_articles.php?categorie=mini-pelles">Mini-pelles</a> - <a href="afficher_articles.php?categorie=dumpers">dumpers</a> - <a href="afficher_articles.php?categorie=rouleaux">rouleaux compresseurs</a></p>
</body>
</html>
*code fait de tête. Il se peut qu'il y ait une petite coquille

++

par furiouslol » 21 déc. 2008, 09:13

:P
Ton script il est paumé par le <?php que tu lui colle apres un echo, ce qui est impossible ... Ton script est entierement en php, donc tu ouvre au début et tu ferme a la fin, y a pas de subtilité a mettre au milieu
A ce propos pense a toujours ouvrir un scrit en mettant <?php au lieu de <? seul

Ensuite sors tes instructions de connexion de ton switch et met les avant, ca sera les memes pour tout tes case

Le while n'a rien a y faire non plus, dans ton switch il ne doit y avoir que la requete utilisée, ca te donnera un truc plus lisible et donc plus compréhensible

par graffx » 20 déc. 2008, 23:10


PS : Ton script manque d'être optimisé et est sémantiquement faux. Pourquoi Rasmus Lerdorf a créé le langage PHP ?
Heuuu au pif pour m' agacer?


Ben oui mais c' est dur ><


edit: desolé je ne vois pas ou je dois mettre mon ";", car j' en ai bien un a la fin de la requete :roll: et puis tu me dis "differentiel", je ne comprend pas trop ce terme dans ce contexte, je n' ai pas utilisé la bonne méthode? :(


Merci d' avance pour tes anciens et futus conseils :D

par niuxe » 20 déc. 2008, 22:21

Salut,

Je crois apercevoir ton erreur de syntaxe. Ce n'est pas à la ligne 23 mais plutôt plus haut (case : ...)

Ton switch est mal construit et erronné si je ne m'abuse. Logiquement, tu devrais avoir un default. Là ton script veut dire :

Fait un « différenciel » sur l'affichage de « catégorie » :
si c'est « mini-pelle » :
affiche moi ouvre script php le code source avec le login et mot de passe etc. :D avec une jolie erreur de syntaxe (manque « ; » )
affiche reponse ;
ferme script php ;
arrêt du différenciel;
si c'est « Dumper » :
affiche moi ouvre script php affiche moi (répétition voulue ?) le code source avec le login et mot de passe etc. :D avec une jolie erreur de syntaxe (manque « ; » )
affiche reponse ;
ferme script php ;
arrêt du « différenciel » ;
si c'est « rouleaux » :
affiche moi ouvre script php affiche moi (répétition voulue ?) le code source avec le login et mot de passe etc. :D avec une jolie erreur de syntaxe (manque « ; » )
affiche reponse ;
ferme script php ;
arrêt du « différenciel » ;

Sache qu'une erreur de syntaxe repérée par PHP est souvent plus haut ;) ou à la ligne indiquée

++

PS : Ton script manque d'être optimisé et est sémantiquement faux. Pourquoi Rasmus Lerdorf a créé le langage PHP ?

par graffx » 20 déc. 2008, 21:20

arf ca ne marche pas, j' ai une erreur quelque part, mais je ne vois pas ou:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /mnt/158/sda/5/f/mickael.piot/admin/effacer_minipelles.php on line 23
Je le vois aux couleurs dans mon code qu' il y a un souci! :roll:

voici les lignes 23 à 25
$reponse = mysql_query("SELECT id, nom, descriptif, tarifht, tarif FROM articles WHERE categorie='Mini-pelles'");

while ($donnees = mysql_fetch_array($reponse) )
Si quelqu' un voit une erreur...