Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/02/2007, 01h52   #1
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Par défaut [SQL] Script PHP qui marche pas !

Bonsoir,

Voici un code qui affiche un menu en PHP : page1 - page2 - page3 - page4
en cliquant sur les pages.

Le problème c'est quil ne marche pas !
et je ne vois pas ce qui ne fonctionne pas.
Merci pour votre aide.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// liste des rubriques
$magik1 = array("page1","page2","page3","page4");
// page affiché à l'ouverture du menu
if($magik2){}else{$magik2="page1";}
$magik3 = sizeof($magik1);
for($magik4=0;$magik4 < $magik3;$magik4++){
if ($magik2 == $magik1[$magik4]){
echo"<a href=web.php?magik2=$magik1[$magik4]>$magik1[$magik4]</a>&nbsp;";}//pour obtenir un menu vertical ajouter la balise <br> après :&nbsp;
else{echo"<a href=web.php?magik2=$magik1[$magik4]>$magik1[$magik4]</a>&nbsp;";}}//pour obtenir un menu vertical ajouter la balise <br> après :&nbsp;
echo"<br><br>"; // séparation entre les liens du menu et du contenu des pages
include"$magik2.php";?>
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2007, 02h08   #2
Membre actif
 
Étudiant
Inscription : août 2005
Messages : 161
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 161
Points : 170
Points : 170
C'est quand même ignoble ton code, tu pourrais trouver des noms de variable plus explicites.

J'utiliserais plutot
Code :
$magik2 = (!empty($_GET['magik2']) ? $_GET['magic2'] : 'page1');
poof65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2007, 07h56   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Obfuscateur intégré ? C'est clair qu'on fait difficilement plus illisible .

J'ai une préférence pour ce code que j'ai testé :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// Page par défaut
define('PAGE_PAR_DEFAUT', 'page1');
// Liste des rubriques
$pages = array(
	'page1',
	'page2',
	'page3',
	'page4'
);
// Page affichée à l'ouverture du menu
$page_courante = isset($_GET['magik2']) ? $_GET['magik2'] : PAGE_PAR_DEFAUT;
 
foreach ($pages as $p) {
	if ($page_courante == $p){
		echo "<a href=web.php?magik2=$p>$p</a>&nbsp;"; // Pour obtenir un menu vertical ajouter la balise <br> après :&nbsp;
	} else{
		echo "<a href=web.php?magik2=$p>$p</a>&nbsp;"; // Pour obtenir un menu vertical ajouter la balise <br> après :&nbsp;
	}
}
echo "<br/><br/>"; // Séparation entre les liens du menu et du contenu des pages
include("$page_courante.php");
?>
Les variables passées par l'URL (méthode GET donc), se récupèrent par le tableau superglobal $_GET (sauf si register_globals est à On, ce qui n'est pas conseillé).


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2007, 08h01   #4
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Il vaut mieux toujours utiliser des simples quotes pour les echo et réserver les doubles pour les propriétés des balises HTML ou les requêtes SQL éventuellement. Exemple pour ton 1er lien :
Code :
echo '<a href="web.php?magik2='.$magik1[$magik4].'">'.$magik1[$magik4].'</a>&nbsp;';
C'est expliqué pourquoi ici :
http://pbnaigeon.developpez.com/tuto...phe-guillemet/
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2007, 10h20   #5
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Bonjour,

Franchement, quand je vois du code comme ça, je n'ai pas franchement envie de me plonger dedans. Et il fera peur même à son dévellopeur lorsque celui-ci reviendra dessus 3 mois après.
Imaginez un bouquin écrit de la sorte, vous l'achetez ?

Bref, avant de résoudre la syntaxe, il faut mettre son code en forme !

Allez hop Diabless, je vais te mettre dans un camps de travaux forcés en Python, tu vas apprendre ce qu'est l'indentation !
Et si tu ne comprends pas pourquoi c'est illisible, félicitations, tu peux te mettre à Perl.
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2007, 14h37   #6
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Bonjour à tous,

Merci pour vos réponses, je tiens a dire que je n'ai pas écrits ce code ! Je l'ai télécharger sur un site de script php

Pour ce qui est de la lisibilité je suis entièrement d'accord, jy comprends rien. Enfin avec le peu que je sais d'habitude je pige le fonctionnement et je modifie a mon gré, mais là oups

Donc je vais étudier ce que vous m'avez donner

Merci pour vos réponses.
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2007, 14h40   #7
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Citation:
Envoyé par Sub0
Il vaut mieux toujours utiliser des simples quotes pour les echo et réserver les doubles pour les propriétés des balises HTML ou les requêtes SQL éventuellement. Exemple pour ton 1er lien :
Code :
echo '<a href="web.php?magik2='.$magik1[$magik4].'">'.$magik1[$magik4].'</a>&nbsp;';
C'est expliqué pourquoi ici :
http://pbnaigeon.developpez.com/tuto...phe-guillemet/
Merci pour le lien car c'est très confus, un coup je vois des ' ' et parfois des "", alors je sais quand rapidité d'execution il vaut mieux les ' '.
Merci pour la doc, je vais la téléchargée pour comprendre
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2007, 14h53   #8
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Merci Julp pour la correction du script, il fonctionne bien maintenant

Je préfère les scripts aux bouquets de fleurs On va dire que c'est ma ST Valentin

Merci encore @tous

Ps: Ha! oui j'utilise PsPad pour la fabrication de mes pages web, j'ai trouvé les fonctions pour l'indentation soit en CSS ou le code entier. Mais pour la sélection d'une partie du code je n'ai pas trouvé comment faire. Quelqu'un aurait une astuce ?
Merci
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2007, 08h54   #9
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
ben... chez moi, sélectionner la partie de code voulue puis "reformater" ça marche très bien
par contre, les formatages de code de pspad sont pas toujours très judicieux, pense à repasser derrière pour refaire un peu le boulot (ni fait ni à faire quoi)

enfin, si je peux me permettre j'ai laché depuis quelques mois pspad pour easyeclipse for php
autant sur des fichiers isolés, pspad fait bien l'affaire, autant sur de gros projets, ee4php est largement mieux
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2007, 16h28   #10
Inactif
 
Avatar de Diabless6
 
Inscription : mars 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 154
Points : 24
Points : 24
Citation:
Envoyé par Dia_FR
ben... chez moi, sélectionner la partie de code voulue puis "reformater" ça marche très bien
par contre, les formatages de code de pspad sont pas toujours très judicieux, pense à repasser derrière pour refaire un peu le boulot (ni fait ni à faire quoi)

enfin, si je peux me permettre j'ai laché depuis quelques mois pspad pour easyeclipse for php
autant sur des fichiers isolés, pspad fait bien l'affaire, autant sur de gros projets, ee4php est largement mieux
Bonjour,

oui c vrai que faut tjours repasser derrière c un peu chiant, je pensais que ça venait d'une option..

Je vais regarder le lien que tu mas mis. Merci
Diabless6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h58.


 
 
 
 
Partenaires

Hébergement Web