Vous n'êtes pas identifié.
Bonjour,
Tout d'abord merci pour ce super tuto! J'ai un souci au niveau de toutes les pages et je ne comprends pas trop pourquoi en fait.
Je mets par la page ajouter-categorie.php en exemple:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/
DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr-fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<link href="../style.css" rel="stylesheet" type="text/css"/>
<title>Ajouter une catégorie</title>
</head>
<body>
<div id="moncadre">
<?php include('menu.php');?>
<div class="cadrecentrale">
<h1>Ajouter une catégorie</h1>
<?php
//Si l'action de valider a été faite
if(isset($_POST["Valider"]))
{
$titre = htmlspecialchars(stripcslashes(trim($_POST["titre"])));
$description = htmlspecialchars(stripcslashes($_POST["description"]));
//Vérification du formulaire
if(empty($titre)){
$alerte0 = '<div class="erreur"><a name="ok"></a>Vous n\'avez pas saisie de titre.</div>';
}
else if(empty($description)){
$alerte1 ='<div class="erreur"><a name="ok"></a>Vous n\'avez pas saisie de description.
</div>';
}
//Si tout est ok
else
{
//on se connecte à la base de données
include('../connexion_bd.php');
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.');
//on enregistre les données
$result = mysql_query("INSERT INTO CATEGORIES VALUES('','".mysql_real_escape_string($titre)."','".mysql_real_escape_string($description)."')");
//Si il y a une erreur, on crie ^^
if (!$result) {
die('Requête invalide : ' . mysql_error());
}
else{
//Si tout est ok, on informe le webmaster
$message_ok = '<div class="erreur"><a name="ok"></a><b>Catégorie enregistrée
avec succès!</b></div>';
}
//On ferme else
}
//On ferme if(isset($_POST["Valider"]))
}
?>
<?php echo $message_ok;?>
<form action="#ok" method="post">
<?php echo $alerte0;?>
<p>Titre de la catégorie :<br/>
<input name="titre" size="65" value="<?php
if (!empty($_POST["titre"])) {
echo stripcslashes(htmlspecialchars($_POST["titre"],ENT_QUOTES));
}?>" type="text"/></p>
<?php echo $alerte1;?>
<p>Description de la catégorie :<br/>
<textarea name="description" rows="10" cols="50" ><?php
if (!empty($_POST["description"])) {
echo stripcslashes(htmlspecialchars($_POST["description"],ENT_QUOTES));
}?></textarea></p>
<p>
<input name="Valider" value="Valider" type="submit"/>
<input name="Effacer" value="Effacer" type="reset"/>
</p>
</form>
</div>
<?php include('../footer.php');?>
</div>
</body>
</html>Voici les erreurs affichés:
Notice: Undefined variable: message_ok in C:\wamp\www\cms\admin\ajouter-categorie.php on line 59
Notice: Undefined variable: alerte0 in C:\wamp\www\cms\admin\ajouter-categorie.php on line 61
Notice: Undefined variable: alerte1 in C:\wamp\www\cms\admin\ajouter-categorie.php on line 67
Donc j'ai bien compris qu'il ne trouvait pas les variables "message_ok", "alerte0" et "alerte1" mais pourquoi alors qu'elles sont déclarées plus haut? De plus il s'agit exactement du code présent sur le site et je ne vois personne d'autre avec des problèmes similaires.
Donc si une âme charitable pouvait m'aiguiller ce serait sympa :)
Vincent
P.S.: si ça peut aider je suis sous un environnement local avec wamp
Version de Apache: 2.2.17
Version de PHP: 5.3.4
Version de MySQL: 5.1.53
Dernière modification par vince240986 (25-08-2011 20:23:12)
Hors ligne

Pour ceux qui auraient un problème similaire, voici ma solution qui a l'air de fonctionner, on enlève les <?php echo?> du formulaire et on les rajoute dans la partie PHP, voici mon code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/
DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr-fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<link href="../style.css" rel="stylesheet" type="text/css"/>
<title>Ajouter une catégorie</title>
</head>
<body>
<div id="moncadre">
<?php include('menu.php');?>
<div class="cadrecentrale">
<h1>Ajouter une catégorie</h1>
<?php
//Si l'action de valider a été faite
if(isset($_POST["Valider"]))
{
$titre = htmlspecialchars(stripcslashes(trim($_POST["titre"])));
$description = htmlspecialchars(stripcslashes($_POST["description"]));
//Vérification du formulaire
if(empty($titre)){
$alerte0 ='<div class="erreur"><a name="ok"></a>Vous n\'avez pas saisie de titre.</div>';
echo $alerte0;
}
else if(empty($description)){$alerte1 ='<div class="erreur"><a name="ok"></a>Vous n\'avez pas saisie de description.</div>';
echo $alerte1;
}
//Si tout est ok
else
{
//on se connecte à la base de données
include('../connexion_bd.php');
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.');
//on enregistre les données
$result = mysql_query("INSERT INTO CATEGORIES VALUES('','".mysql_real_escape_string($titre)."','".mysql_real_escape_string($description)."')");
//Si il y a une erreur, on crie ^^
if (!$result) {die('Requête invalide : ' . mysql_error());}
else{
//Si tout est ok, on informe le webmaster
$message_ok = '<div class="erreur"><a name="ok"></a><b>Catégorie enregistrée avec succès!</b></div>';echo $message_ok;
}
//On ferme else
}
//On ferme if(isset($_POST["Valider"]))
}
?>
<form action="#ok" method="post">
<p>Titre de la catégorie :<br/>
<input name="titre" size="65" value="<?php
if (!empty($_POST["titre"])) {
echo stripcslashes(htmlspecialchars($_POST["titre"],ENT_QUOTES));
}?>" type="text"/></p>
<p>Description de la catégorie :<br/>
<textarea name="description" rows="10" cols="50" ><?php
if (!empty($_POST["description"])) {
echo stripcslashes(htmlspecialchars($_POST["description"],ENT_QUOTES));
}?></textarea></p>
<p>
<input name="Valider" value="Valider" type="submit"/>
<input name="Effacer" value="Effacer" type="reset"/>
</p>
</form>
</div>
<?php include('../footer.php');?>
</div>
</body>
</html>Hors ligne
J'ai supprimé les alertes du formulaires et je les ai remplacé per echo dans le corps de la page et ça marche
Hors ligne
Propulsé par PunBB
© Copyright 2007
Forum créer un site