Variable globale ou erreur de synthaxe

stealon Messages postés 17 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 20 mai 2018 - 27 mai 2011 à 12:24
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 - 27 mai 2011 à 14:13
Salut à tous les développeurs de la planète php. Je sais pas si c’est moi qui me trompe mais je trouve que le php peut s’avéré être un langage casse tête. Cela fait plus d’un an que je suis fiancé avec ce langage et je croyais le connaître mais je me trompais. J’aimerais vraiment que quelqu’un m’arrange le coup. Voici mon problème :

J’ai un formulaire sur lequel je fais de vérification grâce au PCRE, vérifications après lesquelles je fais une redirection avec la fonction header(). Sur la page cible je récupère mes variables en session ($_SESSION[‘non_de_variable’]). Il y a donc une variable de session que je définis par le résultat que retourne une fonction. Pour être clair voici le code :

Code html:
<html>
<head>
<title> Mon mariage avec php est douteux</title>
</head>

<form method="post">
<fieldset>
<legend> Ecole primaire</legend>
<label> Choisissez votre classe : <Label>
<select id="classe_primaire " name="primaire">
<option value="Sélectionner" selected="Sélectionner">SIL</option>
<option value="valeur1" >SIL</option>
<option value="valeur2">Cours préparatoire</option>
<option value="valeur3">Cour élémentaire2</option>
<option value="valeur3">Cour moyen1</option>
<option value="valeur3">Cour moyen2</option>
</select>
</fieldset>


<fieldset>
<legend> Collège</legend>
<label> Choisissez votre classe : <Label>
<select id="college " name="college">
<option value="Sélectionner" selected="Sélectionner">SIL</option>
<option value="valeur1" >6ème</option>
<option value="valeur2">5ème</option>
<option value="valeur3">4ème</option>
<option value="valeur3">3ème</option>
<option value="valeur3">2nd</option>
<option value="valeur3">première</option>
<option value="valeur3">Terminale</option>
</select>
</fieldset>


<fieldset>
<legend>enseignement Supérieur</legend>
<label> Choisissez votre niveau : <Label>
<select id="superieur " name="superieur">
<option value="Sélectionner" selected="Sélectionner">SIL</option>
<option value="valeur1" >1ére année</option>
<option value="valeur2">2ème année</option>
<option value="valeur3">3ème année</option>
<option value="valeur3">4ème année</option>
</select>
</fieldset>





</html>

Code php: voici les deux fonctions que j’ai utilisées pour créer la variable $_SESSION[‘classe’].

<?php
function affiche_option($chaine1, $chaine2, $chaine2)
{
if( $chaine2 'Sélectionner' && $chaine3 'Sélectionner')
{
echo $chaine1;
}

elseif( $chaine1 'Sélectionner' && $chaine3 'Sélectionner')
{
echo $chaine2;
}
else//(Si la variable $chaine1 et $chaine2 valent ‘Sélectionner’
{
echo $chaine3;
}
}

function affiche_classe($chaine1, $chaine2, $chaine3)
{
$liste_classe = array('$chaine1', 'chaine2', 'chaine3');

foreach($liste_classe as $valeur)
{
if( strlen($valeur) < 12 )
{
echo $valeur;
}
}
}

//Enfin je définis ma variable de session :
$Classe_prim = $_POST[‘primaire’] ;
$Classe_col = $_POST[‘college’] ;
$Classe_sup = $_POST[‘superieur’] ;

$_SESSION['Classe'] = affiche_classe($Classe_prim, $Classe_col, $Classe_sup);

//ou alors l’autre fonction pas les deux à la fois !

$_SESSION['Classe'] = affiche_option($Classe_prim, $Classe_col, $Classe_sup);
?>

< ?php

// dans la page cible je voudrais faire un swich () en utilisant la variable session pour faire un <select> ravitailler par la base de données de cette manière :

$user="root";
$host="localhost";
$password="";
$database="ma_base";

$connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
mysql_select_db($database,$connexion);

$Classe = $_SESSION[‘Classe’] ;

swich ($Classe)
{
case ‘Sil’ : $req mysql_query("SELECT DISTINCT E.Nom , E.Prenom, I.Matricule FROM eleves As E, Classe_Sil_a As I WHERE E.Matricule I.Matricule ORDER BY E.Nom") or die(print_r($base->errorInfo()));;
break;

case ‘terminale’: $req mysql_query("SELECT DISTINCT E.Nom , E.Prenom, I.Matricule FROM eleves2 As E, Classe_terminale_a As I WHERE E.Matricule I.Matricule ORDER BY E.Nom") or die(print_r($base->errorInfo()));;
break;
}

?>
Malheureusement ma variable $_SESSION[‘Classe’] n’existe pas. J’ai même fait un

if(!empty($_SESSION['Classe']))
{
$Classe = $_SESSION['Classe'];
echo $Classe;
}
else {echo 'La variable Classe n\'existe pas';} ça affiche : 'La variable Classe n'existe pas'
S’il vous plait aidez-moi ! Sauvez ma relation avec php.

Le résultat me donne la liste seulement sur une classe quelque soit l'option sélectionnée.

1 réponse

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
27 mai 2011 à 14:13
bonjour

dans la page cible as tu
<?php
session_start();

swich ($Classe)
c'est
switch ($Classe) avec un t

Bonne programmation !
0
Rejoignez-nous