Code avec un résultat non attendu, bizarre en tout cas !

djkori
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 42
Inscription: 22 Fév 2005

Code avec un résultat non attendu, bizarre en tout cas !

Message le Sam Mar 25, 2006 16:24

Bonjour, :) :) j'ai un site avec un système d'include qui me donne des liens de ce type monsite/livre_dor.php?page=livre_dor, et les titres de mes pages c'était jusqu'à présent un truc comme ça:
Code: Tout sélectionner
<title>
<?php
$page=htmlentities($_GET['page']);
echo'Mon site c'est le top(pas vraiment vrai mais bon...): '.$page.' !!';
?></title>


Ça me plaisait pas parce que ça me donnait des titres du genre "Mon site c'est le top: accueil_truc", que en minuscules alors que j'aurais voulu la première lettre en majuscule et aussi sans accents et j'aime pas les fautes d'orthographe. Et puis aussi ça laissait en évidence des chemins un peu trop évident justement et visibles ^^ :)
Alors j'ai pensé à ça et ça me donne des résultats bizarres:
Code: Tout sélectionner
<title>
<?php
$page=$_GET['page'];
$id=htmlentities($_GET['id'], ENT_QUOTES);
$titre=htmlentities($_GET['titre'], ENT_QUOTES);

function titre($chaine)
     {
     $remplacement = array(
     "demande_code" => "Demande de code",
         "demande_code_cible" => "Demande de code",
         "list" => "Liste des commentaires",
         "livre_dor" => "Les premiers 50 commentaires",
         "post" => "Poster votre commentaire",
         "post_appel" => "Poster votre commentaire",
     "select" => "Selectionner votre commentaire",
         "edit" => "Modifier votre commentaire",
     "edit_appel" => "Modifier votre commentaire",
     "edit_select" => "Selectionner le commentaire à modifier");

     foreach ($remplacement AS $cle => $element)
          {
          $chaine = strtr($chaine, $cle, $element);
          }
     return $chaine;
     }
$new_titre=titre($page);
if(!empty($page))
{
echo'Puka Nina Pérou > Livre d\'Or > '.$new_titre.'';
}
else
{
echo 'Puka Nina Pérou > Livre d\'Or > Erreur, la page est inexistante... Vérifiez l\'adresse.';
}
?></title>

Ça me donne des titres comme ça: "Puka Nina Pérou > Livre d\'Or > tyvry_ttr" ou bien "Puka Nina Pérou > Livre d\'Or > tiyt"
Est ce que quelqu'un a une idée là dessus??
merci


Ron56
WRInaute impliqué
WRInaute impliqué
 
Messages: 708
Inscription: 20 Nov 2005

Message le Sam Mar 25, 2006 16:30

Je suis pas une masse en php mais je te conseil de regarder du coter de l'echapement de donées , et la fonction adslash :wink:

chetane
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 25
Inscription: 6 Jan 2006

Message le Sam Mar 25, 2006 17:39

Essaie ca p-e ?
Code: Tout sélectionner
<title>
<?php

if(isset($_GET['page']))
   $page=$_GET['page'];
else
   $page = -1  ;

// Tu utilise ca nulle part pr le moment... jy touche pas   
$id=htmlentities($_GET['id'], ENT_QUOTES);
$titre=htmlentities($_GET['titre'], ENT_QUOTES);

function titre($chaine)
   {
         
      $remplacement = array(
               "demande_code"             => "Demande de code",
               "demande_code_cible"   => "Demande de code",
               "list"                         => "Liste des commentaires",
               "livre_dor"                => "Les premiers 50 commentaires",
               "post"                         => "Poster votre commentaire",
               "post_appel"                => "Poster votre commentaire",
               "select"                      => "Selectionner votre commentaire",
               "edit"                         => "Modifier votre commentaire",
               "edit_appel"                => "Modifier votre commentaire",
               "edit_select"             => "Selectionner le commentaire à modifier");
      
      if(array_key_exists($chaine,$remplacement))
         return $remplacement[$chaine] ;
      return "Erreur, la page est inexistante... Vérifiez l'adresse." ;
         
   }
   
// New_titre ^^ francais ou anglais ?
$nouveau_titre=titre($page);

echo "Puka Nina Pérou > Livre d'Or > ".$nouveau_titre ;
   
?>
</title>

djkori
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 42
Inscription: 22 Fév 2005

Ça marche du tonnerre !!

Message le Sam Mar 25, 2006 22:08

Bonjour chetane !! :D :D
Et bien merci pour ce code qui est extra, et qui va me servir non seulement pour mon livre d'or mais pour tout plein de pages, merci vraiment !!

chetane
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 25
Inscription: 6 Jan 2006

Message le Dim Mar 26, 2006 6:07

de rien, ce fut un plaisir d'aider ;)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité