Url en php

[Résolu]
Signaler
Messages postés
10
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
7 août 2008
-
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
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

Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
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 ! 
Messages postés
10
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
7 août 2008

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;
        }
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
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 ! 
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
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 ! 
Messages postés
10
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
7 août 2008

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"
Messages postés
10
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
7 août 2008

<?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;"