Url en php

Résolu
breezer666cs Messages postés 10 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 7 août 2008 - 31 juil. 2008 à 19:08
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 - 1 août 2008 à 19:17
J'ai 1 bouton et un hyperlink dans mon code:
     
      [./accueil.php?i= 1&j=1 BOB]

j'essaie de faire passer en paramêtre i=1 dans l'hyperlink et i=0 dans le bouton

plus haut dans mon code jai :
         if ( $i != 0)
         echo ("i = 0");
         if ($j == 0)
         echo ("j = 0");

mais malheureusement le paramètre i est considérer comme 0 ( i = 0 ) mais pourtant je passe dans mon url
./accueil.php? i=1 &
J =1

Quelqu'un pourrais m'expliquer pourquoi mes variables ne fonctionne pas ?

PS: Je suis en php4 ( et je ne peux pas instaler php5 vu qu'il ne supporte pas mySQL )

6 réponses

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
31 juil. 2008 à 20:06
Hello,

Euh ... si tu demande "$i" cela ne fonctionnera pas ! (sauf "mauvaise" config de ton php.ini)

Donc, tu as tes deux boutons/liens :
[./accueil.php?i= 0&j=0 I=0 et J=0] et [./accueil.php?i=1&j=1 I=1 et J=1]

Et ton code Php :
<?php

// Le paramètre _GET X se récupère de la sorte : $_GET['X']
// Ne pas oublier de tester son existance !!! ( fonction isset() )

if( isset($_GET['i']) )
{
 // ...
}

// Plus rapide (mais moins performant (là ca ce voit pas ^^ le code est trop minime))

$i = isset($_GET['i']) ) ? $_GET['i'] : null;
// Etant donné que _GET['i'] est un nmobre, je ferais même :
// $i = isset($_GET['i']) ) ? intval ($_GET['i']) : null;

$j = isset($_GET['j']) ) ? $_GET['j'] : null;
// Idem

echo 'I = ', $i, '
J = ', $j;

?>

<hr />Si ma reponse te convient, merci de l'accepter ! 
3
breezer666cs Messages postés 10 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 7 août 2008
31 juil. 2008 à 21:17
J'ai oublier d'écrire que la variable $textasaver_fr provenait d'un FCK

function accueil_fr()
        {
                 $accueil_frFCKeditor = new FCKeditor('description_fr') ;
                 $accueil_frFCKeditor->BasePath = "fck/";
                 $accueil_frFCKeditor->ToolbarSet = "Basic";
                 $accueil_frFCKeditor->Value = getexc_tblInfos_fr();
                 $accueil_frFCKeditor->Create();
                 $textasaver_fr = $accueil_frFCKeditor->Value;
        }
3
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
31 juil. 2008 à 22:22
Re,

Euh ... déjà tu n'encapsules pas ton code ($textasaver_*) dans une instruction php (<?php /* .. */ ?>) ...

Je ne comprend pas trop ce que tu veux faire .... là, à mon avis il te faudrait du javascript (Ajax)

Sinon ... FCK est un textarea ... donc un formulaire ... et il te faudrait alors faire avec des (puis vérifier l'existance de la variable _POST (ou _GET) 'fr', 'en', 'es', ...

Après, si tu veux garder une gestion avec des liens (pas tout à fait fiable si JS désactivé ^^) :
[# ]
(A modifié dans ce sens ;) (forms[0] => 1er form de la page, forms[1] -> 2eme, etc ...)

<hr />Si ma reponse te convient, merci de l'accepter ! 
3
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
1 août 2008 à 19:17
Re,

Hum .... bon !

fichier de connection MySQL :
<?php
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '') or die(mysql_error());
// on sélectionne la base
mysql_select_db('bd1_autocarexcellence_com',$db) or die(mysql_error());
?>

fichier fonctions (je te conseillerais l'utilisation de Class, c'est plus pratique pour une gestion multi-lng) :
function Updateaccueil_en($i)
{    $sql 'UPDATE exc_tblInfos SET accueil_en '" . mysql_real_escape_string($i) . '" ';
    $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

}

page :
<?php


if( isset($_POST['valid_fr']) isset($_POST['description_fr']) )

{

    Updateaccueil_fr($_POST['description_fr']);

}
else if( isset($_POST['valid_en']) isset($_POST['description_en']) )

{

    Updateaccueil_en($_POST['description_en']);

}
// ...

?>
<form action="?" method="POST">
 

Texte français :

<?php

$accueil_frFCKeditor = new FCKeditor('description_fr') ;

$accueil_frFCKeditor->BasePath = "fck/";

$accueil_frFCKeditor->ToolbarSet = "Basic";

$accueil_frFCKeditor->Value = getexc_tblInfos_fr();

$accueil_frFCKeditor->Create();

?>




 

Texte Anglais :

<?php

$accueil_frFCKeditor = new FCKeditor('description_en') ;

$accueil_frFCKeditor->BasePath = "fck/";

$accueil_frFCKeditor->ToolbarSet = "Basic";

$accueil_frFCKeditor->Value = getexc_tblInfos_fr();

$accueil_frFCKeditor->Create();

?>




</form>

Normalement ce code devrait fonctionner.
On crée un formulaire, on le valide (selon le bouton submit fr/en/es/...) et on traite en conséquence.
Il est possible d'optimiser le code via des Class/boucles/...
<hr />Si ma reponse te convient, merci de l'accepter ! 
3

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

Posez votre question
breezer666cs Messages postés 10 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 7 août 2008
31 juil. 2008 à 21:06
Ensuite j'aurais une autre question... Comment faire pour prendre une variable exemple:

      [./accueil.php?i=.$textasaver_fr.&j=1 Sauvegarder accueil Français]

      [./accueil.php?i=.$textasaver_en.&j=2 Sauvegarder accueil Anglais]

      [./accueil.php?i=.$textasaver_es.&j=3 Sauvegarder accueil Espagnol]

je veux prendre la variable $textasaver_fr. mais ca me retourne "$textasaver_fr"
0
breezer666cs Messages postés 10 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 7 août 2008
1 août 2008 à 18:20
<?php
       $textasaver_fr;
       accueil_fr();
        function accueil_fr()
        {
                 $accueil_frFCKeditor = new FCKeditor('description_fr') ;
                 $accueil_frFCKeditor->BasePath = "fck/";
                 $accueil_frFCKeditor->ToolbarSet = "Basic";
         $accueil_frFCKeditor->Value = getexc_tblInfos_fr();
         $accueil_frFCKeditor->Create();
         $textasaver_fr = $accueil_frFCKeditor->Value;
        }

if( isset($_GET['j']) )
        {
          $j = $_GET['j'];
          if ( $j == 1)
          {
            Updateaccueil_fr($textasaver_fr);
          }
          else
          {
            if ($j == 2)
            {
              Updateaccueil_en($textasaver_en);
            }
            else
            if ($j == 3)
            {
              Updateaccueil_es($textasaver_es);
            }
          }
      }

et la fonction UpdateAccueil_fr($textasaver_fr) dans un autre fichier php
 
function Updateaccueil_en()
  {
                      if( isset($_GET['i']) )
         $i = $_GET['i'];

         echo $i;
   // on se connecte à MySQL
         $db = mysql_connect('localhost', 'root', '');
   // on sélectionne la base
         mysql_select_db('bd1_autocarexcellence_com',$db);

         $IdInfo = "1";
   // on crée la requête SQL         $sql "UPDATE exc_tblInfos set accueil_en '".$i."'";
         $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
         mysql_close($db);
  }

en d'autre mot ce que je veux faire c'est de sauvegarder dans une base de donnée les données comprises dans le " $accueil_frFCKeditor->Value;"
0
Rejoignez-nous