Switch php qui ne marche avec easy php 3.0
Résolu/Fermé
A voir également:
- Switch php qui ne marche avec easy php 3.0
- Easy php - Télécharger - Divers Web & Internet
- Easy disk drive repair - Télécharger - Récupération de données
- Easy cleaner - Télécharger - Nettoyage
- Easy bcd - Télécharger - Optimisation
- Easy video downloader - Télécharger - Téléchargement & Transfert
5 réponses
Bonjour
Peut-être une histoire de register_globals on ou off qui a évolué entre les deux versions.
Peux-tu montrer le code avec lequel tu récupères les infos passées par URL ou par formulaire ?
Peut-être une histoire de register_globals on ou off qui a évolué entre les deux versions.
Peux-tu montrer le code avec lequel tu récupères les infos passées par URL ou par formulaire ?
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
24 déc. 2009 à 14:07
24 déc. 2009 à 14:07
Sans ton script ...
Voici par exemple le scrip qui permet d'afficher les offres d'emploi par secteur d'activité avec un lien sur chaque secteur qui conduit au moteur de recherche (recherche.php) qui n'afichera que les offres de ce secteur
$requet_resume_o_secteur = "SELECT id,COUNT(id) AS Nombre_o_secteurs,secteur FROM offre WHERE statut = '1' AND secteur NOT LIKE '%Autre%' GROUP BY secteur"; //LIMIT 10
if ((!$result_resume_o_secteur = mysql_query($requet_resume_o_secteur))){
echo ""; // ne rien affiché en cas de problème de connexion
}else{
echo "<b>Par secteur</b><br>";
While ($row = mysql_fetch_row($result_resume_o_secteur)){
$id_o = $row[0];
$nbr_o_s = $row[1];
$secteur_o = stripslashes($row[2]);
echo "<a href=\"recherche.php?action=liste_offres§eur=$secteur_o\"><font color=#008888>$secteur_o ($nbr_o_s)<br></font></a>";
} }
Voici le switch de recherche.php
switch ($action) {
case "rechercher_offre":
$page_title = " - Rechercher une demande";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
blok_rechercher_offre();
//echo "</td></tr></table>";
break;
case "resultat_offre":
$page_title = " - Résultat de la recherche";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
resultat_offre();
echo "<br>";
blok_rechercher_offre();
//echo "</td></tr></table>";
break;
case "liste_offres":
$page_title = " - Résultat de la recherche";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
resultat_menu_offre();
echo "<br>";
blok_rechercher_offre();
//echo "</td></tr></table>";
break;
default :
$page_title = " - Rechercher une offre ou une demande d'emploi";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
//blok_rechercher_offre();
echo "<table align=\"center\" height=\"20\" width=\"100%\" style=\"border-width:0; border-color:#FFFFFF; border-style:solid;\">".
"<tr><td align=\"left\"><A href=\"recherche.php?action=rechercher_offre\"><img src=\"images/rechercher_offre.png\" border=\"0\" alt=\"Rechercher une offre d'emploi\"></a></td>".
"<td align=\"left\"><A href=\"recherche.php?action=rechercher_demande\"><img src=\"images/rechercher_demande.png\" border=\"0\" alt=\"Rechercher une demande d'emploi\"></a>".
"</td></tr></table>";
//echo "</td></tr></table>";
}
Ainsi, le problème c'est que c'est le switch "defaut" qui est affiché quelque soit la valeur prise par la variable $action
$requet_resume_o_secteur = "SELECT id,COUNT(id) AS Nombre_o_secteurs,secteur FROM offre WHERE statut = '1' AND secteur NOT LIKE '%Autre%' GROUP BY secteur"; //LIMIT 10
if ((!$result_resume_o_secteur = mysql_query($requet_resume_o_secteur))){
echo ""; // ne rien affiché en cas de problème de connexion
}else{
echo "<b>Par secteur</b><br>";
While ($row = mysql_fetch_row($result_resume_o_secteur)){
$id_o = $row[0];
$nbr_o_s = $row[1];
$secteur_o = stripslashes($row[2]);
echo "<a href=\"recherche.php?action=liste_offres§eur=$secteur_o\"><font color=#008888>$secteur_o ($nbr_o_s)<br></font></a>";
} }
Voici le switch de recherche.php
switch ($action) {
case "rechercher_offre":
$page_title = " - Rechercher une demande";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
blok_rechercher_offre();
//echo "</td></tr></table>";
break;
case "resultat_offre":
$page_title = " - Résultat de la recherche";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
resultat_offre();
echo "<br>";
blok_rechercher_offre();
//echo "</td></tr></table>";
break;
case "liste_offres":
$page_title = " - Résultat de la recherche";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
resultat_menu_offre();
echo "<br>";
blok_rechercher_offre();
//echo "</td></tr></table>";
break;
default :
$page_title = " - Rechercher une offre ou une demande d'emploi";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
//blok_rechercher_offre();
echo "<table align=\"center\" height=\"20\" width=\"100%\" style=\"border-width:0; border-color:#FFFFFF; border-style:solid;\">".
"<tr><td align=\"left\"><A href=\"recherche.php?action=rechercher_offre\"><img src=\"images/rechercher_offre.png\" border=\"0\" alt=\"Rechercher une offre d'emploi\"></a></td>".
"<td align=\"left\"><A href=\"recherche.php?action=rechercher_demande\"><img src=\"images/rechercher_demande.png\" border=\"0\" alt=\"Rechercher une demande d'emploi\"></a>".
"</td></tr></table>";
//echo "</td></tr></table>";
}
Ainsi, le problème c'est que c'est le switch "defaut" qui est affiché quelque soit la valeur prise par la variable $action
D'où vient ta variable $action? as-tu quelque part $action= $_GET['action'] ?
Salut!
D'abord merci. Effectivement, le problème semble venir du fait que je n'ai pas $_GET['action'] ou $_post['$action'] dans recherche.php (sur un autre forum, j'ai vu quelqu'un qui avait un problème similaire et cela a été la solution https://codes-sources.commentcamarche.net/ )
Je vais tester et vous dire.
merci encore!
D'abord merci. Effectivement, le problème semble venir du fait que je n'ai pas $_GET['action'] ou $_post['$action'] dans recherche.php (sur un autre forum, j'ai vu quelqu'un qui avait un problème similaire et cela a été la solution https://codes-sources.commentcamarche.net/ )
Je vais tester et vous dire.
merci encore!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
les anciennes versions de PHP extrayaient automatiquement les variables du genre $_GET['qqchose'] ou $_POST['qqchose'] et créaient la variable $qqchose. Les anciens scripts utilisaient cette fonction naturellement.
Mais ceci posait des problèmes de sécurité et avec les versions plus récentes, il faut faire soi même 'à la main'
$qqchose=$_GET['qqchose'];
ou
$qqchose=$_POST['qqchose'];
(selon que la variable vient d'une URL ou d'une méthode POST)
Il faut le faire pour chaque variable récupérée.
Mais ceci posait des problèmes de sécurité et avec les versions plus récentes, il faut faire soi même 'à la main'
$qqchose=$_GET['qqchose'];
ou
$qqchose=$_POST['qqchose'];
(selon que la variable vient d'une URL ou d'une méthode POST)
Il faut le faire pour chaque variable récupérée.
24 déc. 2009 à 14:21
if ((!$result_resume_o_secteur = mysql_query($requet_resume_o_secteur))){
echo ""; // ne rien affiché en cas de problème de connexion
}else{
echo "<b>Par secteur</b><br>";
While ($row = mysql_fetch_row($result_resume_o_secteur)){
$id_o = $row[0];
$nbr_o_s = $row[1];
$secteur_o = stripslashes($row[2]);
echo "<a href=\"recherche.php?action=liste_offres§eur=$secteur_o\"><font color=#008888>$secteur_o ($nbr_o_s)<br></font></a>";
} }
Voici le switch de recherche.php
switch ($action) {
case "rechercher_offre":
$page_title = " - Rechercher une demande";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
blok_rechercher_offre();
//echo "</td></tr></table>";
break;
case "resultat_offre":
$page_title = " - Résultat de la recherche";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
resultat_offre();
echo "<br>";
blok_rechercher_offre();
//echo "</td></tr></table>";
break;
case "liste_offres":
$page_title = " - Résultat de la recherche";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
resultat_menu_offre();
echo "<br>";
blok_rechercher_offre();
//echo "</td></tr></table>";
break;
default :
$page_title = " - Rechercher une offre ou une demande d'emploi";
include ('header.php');
echo "<br><div id=\"contenu\">"; // !!!!!!!!!!!!!!fin de div contenu: voir footer.php
//echo "<table align=\"center\" height=\"20\" width=\"70%\" style=\"border-width:1; border-color:#FF9900; border-style:solid;\"><tr><td width=\"50%\">";
//blok_rechercher_offre();
echo "<table align=\"center\" height=\"20\" width=\"100%\" style=\"border-width:0; border-color:#FFFFFF; border-style:solid;\">".
"<tr><td align=\"left\"><A href=\"recherche.php?action=rechercher_offre\"><img src=\"images/rechercher_offre.png\" border=\"0\" alt=\"Rechercher une offre d'emploi\"></a></td>".
"<td align=\"left\"><A href=\"recherche.php?action=rechercher_demande\"><img src=\"images/rechercher_demande.png\" border=\"0\" alt=\"Rechercher une demande d'emploi\"></a>".
"</td></tr></table>";
//echo "</td></tr></table>";
}