Html / php creation de liens

Résolu/Fermé
cyril - 2 nov. 2008 à 19:42
 cyril - 6 nov. 2008 à 17:37
hello tout le monde,

voila je suis en train de faire un site et je me demandais si il 'y avait pas un moyen de faire en sorte que les liens vers la page suivante se créent automatiquement (comme pour les blogs) car le jour ou il y a 40pages et ke je supprime une page, j'aimerais ne pas avoir a editer toutes les pages pour refaire chaque lien.

Merci d'avance.
A voir également:

21 réponses

et aussi comment faire un lien pour que, par exemple, si je suis a la page 2 je veux retourne a la page 1, sans creer chaque liens

Une sorte de " onclick=pageactuel - 1 "

ca doit etre fesable en recuperant le numero de la page dans une variable non?
0
ça tombe bien j'ai le meme probleme que toi. quelqu'un aurait-il une idée?
0
up please
0
Utilisateur anonyme
4 nov. 2008 à 01:12
Si tes pages sont nommées ainsi : tapage1.htm, tapage2.htm, ... avec des numéro à la fin du nom, tu peu faire ceci :

<?php
$page = $_SERVER['SCRIPT_NAME'] ;
?>

<?php
$nbr = 4; // nombre de caractère de l'extension de la page + le "." donc, pour .php 4, .html 5 et .htm 4
$name = substr($page, 0, -$nbr);
$name = ++$name;
echo $name;
?>

<?php
if($name<5){
echo "<a href=$name.php>$name</a>";
}
else{
echo "";
}
?>

ici, il n'y aura plus de lien à partir de la page 5. (on ne pourra pas aller à la page 6, ce qui est pratique pour éviter des erreurs si la page 6 est inexistante)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ok merci.

je colle donc tout ça dans mon fichier php? désolé je ne suis pas doué en php ( il faut bien passer par la avant d'etre bon ^^ )mais j'essaye de omprendre quand meme au lieu de toujours venir demander de l'aide.

la variable " &name " elle viens de: $_SERVER['SCRIPT_NAME'] ?
0
Utilisateur anonyme
4 nov. 2008 à 11:12
$name est enfait le nom de la page sans l'extension, j'ai enlevé les 4 derniers caractères de $_SERVER['SCRIPT_NAME'] qui est le nom de la page avec l'extension.
0
euh je viens de me rendre compte de quelque chose, en faite la page ou je veux mettre la liste de pages s'apelle page1 et dans celle-ci j'ai fait "include('liste_pages.php') " donc si je met ton code dans liste page,bien qu'il soit inclus dans page1, $name me renverra liste_pages non?
0
cyril > isis
4 nov. 2008 à 11:22
je comprends maintenant l'interêt d'isis pour cette question, c'est un amis qui est sur le meme projet mdr !

Je me disait aussi que les coincidences etaient troublantes
0
Utilisateur anonyme
4 nov. 2008 à 11:32
c'est une bonne question... je n'ais jamais testé. essaye tu verra bien. mais il me semble qu'il renverra le nom de la page dans laquelle il est inclut et non liste_page
0
a oui génial !! maintenant, il faut juste trouver pour il m'afficher le lien complet de la page lol ! avec le nom de repertoire parent et tout ^^
0
ah c'est bon merci j'ai supprimé le echo $name;


encore une fois merci et peut etre a bientot
0
et euh par contre pour la partie

<?php
if($name<5){
echo "<a href=$name.php>$name</a>";
}
else{
echo "";
}
?> 



ça ne fonctionne pas
0
Utilisateur anonyme
4 nov. 2008 à 12:26
qu'est-ce qui ne fonctionne pas ? le if() ou le lien ?
0
LE IF.

<?php
$page = $_SERVER['SCRIPT_NAME'] ;
?>

<?php
$nbr = 4; // nombre de caractère de l'extension de la page + le "." donc, pour .php 4, .html 5 et .htm 4
$name = substr($name, 0, -$nbr); //pour enlever l'extension
$name1 = substr($page, -1,-5); //pour ne garder que le n° de  la page
$name1++; //incrémentation qui fonctionne pas

?>

<?php
echo $name1; //pour verifier la valeur de name 1 qui d'ailleurs ne s'incrémente pas je ne sais pas pourquoi
if($name1<2){
echo "<a href=page$name1.php>suivante</a>"; //et ici, il n'ajoute pas la variable a la fin de la page 
}
else{
echo "<a href='index.php'>Accueil</a>";
}



j'ai essayé de le faire seul, mais le probleme est que la variable ne s'incrémente pas.
0
Utilisateur anonyme
4 nov. 2008 à 12:59
a ce moment là tu fais :

if($name1!=="nomdelapage5"){
echo "<a href=...>...</a>";
}
else{
echo "<a href='index.php'>Accueil</a>";
}

comme sa tant que le nom de la page ne sera pas "nomdelapage5", ça continuera.
0
c'est bon en faite j'avais juste inversé le nom des variables au debut.

En revanche, comment faire pour que

echo "<a href=page$name1.php>suivante</a>";

fonctionne ? car si j'enleve le point entre page et $name, le n°de la page n'apparait pas de le lien. et si j'ajoute le point, alors le lien est presque bon sauf qu'il y a le point en trop.
0
Utilisateur anonyme
4 nov. 2008 à 13:58
echo "<a href=page".$name1.".php>suivante</a>";
0
merci.sinon tu connais bien niveau sql
0
Utilisateur anonyme
4 nov. 2008 à 16:05
sa dépend pour faire quoi :p
0
nan en faite c'est bon j'ai reussi a contourner le probleme. encore merci !!! a bientot peut etre merci
0
re tout le monde, j'avais un systeme de commentaire sur ma page daccueil, j'ai décidé de deplacer ce systeme dans une page a part et de mettre un lien vers cette nouvelle page sur ma page d'accueil et depuis j'ai cette erreur qui s'affiche :

Commentaires :

Warning: include(npdc/coms/sayop.php) [function.include]: failed to open stream: No such file or directory in /www/unlimitedwar/npdc/ajouter_com/jonathan_page_1.php on line 7

Warning: include() [function.include]: Failed opening 'npdc/coms/sayop.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /www/unlimitedwar/npdc/ajouter_com/jonathan_page_1.php on line 7

Fatal error: Call to undefined function showComms() in /www/unlimitedwar/npdc/ajouter_com/jonathan_page_1.php on line 8
0
Utilisateur anonyme
4 nov. 2008 à 22:29
les fichiers a inclure ne sont pas au bon endroi apparement
0
pourtan quand je tape l'apresse dans ma barre dadresse ils y sont bien. et le code de sayop c'est :


function showComms($id,$path) {


include("http://unlimitedwar.o-n.com/npdc/coms/com/db.php");


$catid = $id;
$sql = mysql_query("SELECT * FROM ".$so_prefix."_main WHERE catid='".$catid."' ORDER BY id ");
while ($irow = mysql_fetch_row($sql)) {
echo "
<div class='sayopcontainer'>
<div class='sayopspacer'> </div>
<div class='sayopufloat'>Par $irow[3]      $irow[4]<br /></div>
<div class='sayopfloat'>$irow[5]<br /></div>
<div class='sayopdfloat'>posté a $irow[6]<br /></div>
<div class='sayopspacer'> </div>
</div>
";
}


$s = mysql_query("SELECT * FROM ".$so_prefix."_obj WHERE catid='".$catid."' ");
$o_name = mysql_fetch_row($s);
$obj_name = $o_name[1];

$p = $path;

echo "
<div style='sayopfloat: left;width: 35%; background-color: ; border-top: 0px; border-bottom: 1px groove #333; padding: 5px; color: #FF0000;
margin: 0px auto; text-align: left;'>
<form name='f1' action='$p/com/add_entry.php' method='post'>
<input type='hidden' name='obj_name' value='$obj_name' />
<input type='hidden' name='catid' value='$catid' />
<div class='sayoprow'>
Prenom: <input type='text' size='25' name='author' />
</div>
";
echo "
<div class='sayoprow'>
Email: <input type='text' size='25' name='email' /><span class='sayopsmall'>(optionel)</span>
</div>

";
echo "
<div class='sayoprow'>
<span class='sayoplabel'>Commentaires:</span><span
class='sayopformw'>
<textarea name='comment' cols='32' rows='8'></textarea>
</span>
</div>
<div class='sayoprow'>
<input type='submit' name='Add' value='Envoyer' />
</div>
</form>
</div>
";


}
0
up plizz
0
Utilisateur anonyme
5 nov. 2008 à 19:12
essai en mettant juste l'URL a partir de la racine , et non l4URL complete (http://...)
0