Aide en PHP
Résolu/Fermé
A voir également:
- Aide en PHP
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Href php ✓ - Forum PHP
- Bouton php - Forum PHP
- Convertir php en pdf ✓ - Forum PDF
23 réponses
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 15:02
26 juin 2009 à 15:02
salut,
donc oui, tu peux faire dans la page2.php ceci
et ensuite, tu mets tout le code de traitement dans la page en question (avec l'exemple choisi, ca donne larubriquechoisie.php
par contre, c'est très mal de le faire aussi court
il faudrait remplacer le incude par un switch / case qui défini individuelement chaque page! (pour eviter de te faire pirater)
donc oui, tu peux faire dans la page2.php ceci
if (isset($_GET['page'])) include($_GET['page']."php")
et ensuite, tu mets tout le code de traitement dans la page en question (avec l'exemple choisi, ca donne larubriquechoisie.php
par contre, c'est très mal de le faire aussi court
il faudrait remplacer le incude par un switch / case qui défini individuelement chaque page! (pour eviter de te faire pirater)
Utilisateur anonyme
26 juin 2009 à 15:05
26 juin 2009 à 15:05
Si je comprend bien, tu ne veux qu'une seule page sur ton site (ou une page par rubrique)... tu peux le faire en utilisant des formulaire HTML utilisant la méthode post mais en chargeant la même page. Exemple:
Tu es sur la page index.php, tu fais
Ensuite tu n'ai plus qu'à utiliser if, else if, else pour tester l'existence d'une variable:
Ainsi tu pourras afficher sur une même page des choses différentes en fonction de la rubrique choisie.
Tu es sur la page index.php, tu fais
<FORM ACTION="index.php" METHOD="post"> <INPUT TYPE="hidden" NAME="test" VALUE=1> <INPUT TYPE="submit" VALUE="OK"> </FORM
Ensuite tu n'ai plus qu'à utiliser if, else if, else pour tester l'existence d'une variable:
if(isset($_POST['test'])) //test l'existence de la variable $_POST['test'] { "Ce que tu veux afficher si l'utilisateur à accéder à la rubrique" }
Ainsi tu pourras afficher sur une même page des choses différentes en fonction de la rubrique choisie.
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 15:17
26 juin 2009 à 15:17
attention, le parametre "page" étant passé dans l'url, il ne faut pas utiliser $_POST, mais bien $_GET ;)
Utilisateur anonyme
>
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
26 juin 2009 à 15:20
26 juin 2009 à 15:20
Ah oui, j'avais pas vu ça. Mais utilisé "post" au lieu de "get" sécurise mieux le site... mieux que get en tout cas...
Merci pour vos réponses. Mais comme je suis débutant en PHP, le Switch / case je n'ai pas très bien compris... Vous pourriez me l'expliquer s'il vous plait ?
Merci d'avance.
Merci d'avance.
Le problème c'est qu'un formulaire risque de tout changer à ma page... J'aurais besoin de qqchose de plus simple...
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 15:23
26 juin 2009 à 15:23
fais comme je t'ai dit, en ajoutant un controle des pages demandées:
je ne suis pas spécialiste en PHP, mais un pote m'a dit que c'était uen grosse faille de ne pas faire le controle
if (isset($_GET['page'])) { $page=$_GET['page']; if($page=='page1' || $page=='page2' || $page=='page3' || $page=='page4') { include($page."php") } else echo "echo joues pas les malins avec moi, tentes pas de visualiser des pages que je n'autorise pas"; }et voila, comme ca l'utilisateur ne peut aller que sur des pages autorisées (sinon, je croi qu'il pourrais avoir accès à des fichieers .htaccess par exemple, contenant des mots de passe, etc
je ne suis pas spécialiste en PHP, mais un pote m'a dit que c'était uen grosse faille de ne pas faire le controle
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dans ce cas-là, je dois écrire un par un les rubriques dans ce bout de code c'est bien çà ?
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 15:27
26 juin 2009 à 15:27
pour chaque rubrique tu fais une page php, qui sera incluse automatiquement dans le code de cette page
si tes rubriques sont très redondantes, tu peux aussi faire plus simple, en utilisant une base de données pour les stocker
si tes rubriques sont très redondantes, tu peux aussi faire plus simple, en utilisant une base de données pour les stocker
D'accord, merci beaucoup, je vais essayer tout de suite pour voir si ça marche ^^ Je vous tiendrais au courant si je rencontre une difficulté.
Encore merci ;)
Encore merci ;)
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 15:31
26 juin 2009 à 15:31
tiens nous aussi au courant si ca marche ;) et n'oublies pas de mettre en résolu une fois que ce sera bon
J'ai essayé le code mais ça ne marche pas... Doit-on assigner quelque chose au lien de la rubrique ?
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 15:57
26 juin 2009 à 15:57
il faut qu'elle soit comme ca: http://monsite.com/index2.php?page=larubriquechoisie
et il faut que t'ai un fichier (pour cet exemple) larubriquechoisie.php
et dedan, tu mets
<?php echo "youpi"; ?>
et ensuite, tu cherches dans le code de la page renvoyé le mot "youpi" (au cas ou il soit pas affiché à cause d'une auter erreur)
et il faut que t'ai un fichier (pour cet exemple) larubriquechoisie.php
et dedan, tu mets
<?php echo "youpi"; ?>
et ensuite, tu cherches dans le code de la page renvoyé le mot "youpi" (au cas ou il soit pas affiché à cause d'une auter erreur)
Je suis peut-être idiot mais je comprends pas... En plus quand je met :
<?php
if (isset($_GET['page']))
{
$page=$_GET['page'];
if($page=='equipe' || $page=='page2' || $page=='page3' || $page=='page4')
{
include($page."php")
}
else echo "Vous n'êtes pas autorisé a voir cette page !";
}
?>
a l'endroit ou je veux que mon texte s'affiche (en cliquant sur le lien), la page devient blanche et plus rien ne s'affiche...
<?php
if (isset($_GET['page']))
{
$page=$_GET['page'];
if($page=='equipe' || $page=='page2' || $page=='page3' || $page=='page4')
{
include($page."php")
}
else echo "Vous n'êtes pas autorisé a voir cette page !";
}
?>
a l'endroit ou je veux que mon texte s'affiche (en cliquant sur le lien), la page devient blanche et plus rien ne s'affiche...
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 16:31
26 juin 2009 à 16:31
essayes ce code:
<?php
if (isset($_GET['page']))
{
$page=$_GET['page'];
if($page=='equipe' || $page=='page2' || $page=='page3' || $page=='page4')
{
echo "ok, page autorisée";
}
else echo "Vous n'êtes pas autorisé a voir cette page !";
}
else echo "le paramettre page n'est pas renseigné dans l'URL";
?>
<?php
if (isset($_GET['page']))
{
$page=$_GET['page'];
if($page=='equipe' || $page=='page2' || $page=='page3' || $page=='page4')
{
echo "ok, page autorisée";
}
else echo "Vous n'êtes pas autorisé a voir cette page !";
}
else echo "le paramettre page n'est pas renseigné dans l'URL";
?>
Ca affiche toujours : Vous n'êtes pas autorisé a voir cette page
Mais pour le lien, j'ai mis ça :
Mais pour le lien, j'ai mis ça :
<a href="index2.php?page=equipe.php">L'équipe</a>Est-ce que c'est bon ?
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 16:41
26 juin 2009 à 16:41
en effet, c'est normal
<a href="index2.php?page=equipe.php">L'équipe</a>
ne mets pas le php dans ton lien
si tu es vraiemnt obligé de le mettre, alors:
if($page=='equipe.php' || $page=='page2' || $page=='page3' || $page=='page4')
{
include($page)
}
<a href="index2.php?page=equipe.php">L'équipe</a>
ne mets pas le php dans ton lien
si tu es vraiemnt obligé de le mettre, alors:
if($page=='equipe.php' || $page=='page2' || $page=='page3' || $page=='page4')
{
include($page)
}
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 16:58
26 juin 2009 à 16:58
oui, car dans les 2 cas les pages sont vérifiées dans le if.
ceci dit, je te conseille la première solution (ne pas mettre le .php derriere) ca evitera d'attirer l'oeil des méchants ;)
au niveau sécurité, ca c'est un aspect, mais il y en a d'autres (que je ne connais pas forcement). donc ici tu evites de faire une faute grave, mais il y a plein de pieges un peu partout :D
ceci dit, je te conseille la première solution (ne pas mettre le .php derriere) ca evitera d'attirer l'oeil des méchants ;)
au niveau sécurité, ca c'est un aspect, mais il y en a d'autres (que je ne connais pas forcement). donc ici tu evites de faire une faute grave, mais il y a plein de pieges un peu partout :D
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 17:03
26 juin 2009 à 17:03
si t'enlève le .php, alors le code donné précedement devrait fonctionner
Pfff... Je comprends vraiment pas... Ma page est toujours blanche...
Voila le code en détail du tableau avec les liens de rubriques :
Et le code PHP de la table avec le contenu changeant en fonction des rubriques :
Je sais plus quoi faire...
Voila le code en détail du tableau avec les liens de rubriques :
<table border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="middle" id="bouton_rubrique"><a href="index2.php?page=edito" class="liens">Edito</a></td> </tr> <tr> <td align="center" valign="middle" id="bouton_rubrique"><a href="index2.php?page=news_site" class="liens">News</a></td> </tr> <tr> <td align="center" valign="middle" id="bouton_rubrique"><a href="index2.php?page=equipe" class="liens">L'équipe</a></td> </tr> <tr> <td align="center" valign="middle" id="bouton_rubrique"><a href="index2.php?page=liens" class="liens">Liens</a></td> </tr> <tr> <td align="center" valign="middle" id="bouton_rubrique"><a href="index2.php?page=livre_dor" class="liens">Livre d'or</a></td> </tr> <tr> <td align="center" valign="middle" id="bouton_rubrique"><a href="index2.php?page=bug" class="liens">Bug</a></td> </tr> <tr> <td align="center" valign="middle" id="bouton_rubrique"><a href="index2.php?page=contact" class="liens">Contact</a></td> </tr> <tr> <td align="center" valign="middle" id="bouton_rubrique"><a href="index2.php?page=a_propos" class="liens">A propos</a></td> </tr> </table>
Et le code PHP de la table avec le contenu changeant en fonction des rubriques :
<table> <tr> <td align="left" valign="top" id="table_contenu"> <?php if (isset($_GET['page'])) { $page=$_GET['page']; if($page=='edito.php' || $page=='news_site.php' || $page=='equipe.php' || $page=='liens.php' || $page=='livre_dor.php' || $page=='bug.php' || $page=='contact.php' || $page=='a_propos.php') { include($page) } else echo "Vous n'êtes pas autorisé a voir cette page !"; } else echo "le paramettre page n'est pas renseigné dans l'URL"; ?> </td> </tr> </table>
Je sais plus quoi faire...
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
26 juin 2009 à 17:34
26 juin 2009 à 17:34
t'as fait un mix des 2 trucs ;) peut etre que je me suis mal exprimé
au vu des liens( <a href="index2.php?page=a_propos" class="liens">A propos</a> ) il faut mettre
if($page=='edito' || $page=='news_site' || $page=='equipe' || $page=='liens' || $page=='livre_dor' || $page=='bug' || $page=='contact' || $page=='a_propos')
et du coup, tu rajoutes l'extention php derriere:
include($page.".php")
bon, la je pars du boulot, je sais pas si je pourrais autant me connecter ce WE.
ca devrait marcher, mais sinon, essayes de comprendre la philosophie de ce que je veux te faire faire, et n'hésite pas a faire des tests
au vu des liens( <a href="index2.php?page=a_propos" class="liens">A propos</a> ) il faut mettre
if($page=='edito' || $page=='news_site' || $page=='equipe' || $page=='liens' || $page=='livre_dor' || $page=='bug' || $page=='contact' || $page=='a_propos')
et du coup, tu rajoutes l'extention php derriere:
include($page.".php")
bon, la je pars du boulot, je sais pas si je pourrais autant me connecter ce WE.
ca devrait marcher, mais sinon, essayes de comprendre la philosophie de ce que je veux te faire faire, et n'hésite pas a faire des tests