Bonjour a toute la communauté.
J'ai suivi le tuto concernant la sécurité avec session.
J'ai voulu intégrer le système de gestion de news de ce tuto mais j'ai une erreur lors du "else". Ce doit être une parenthese qui manque mais lorsque je met le dernier elle en commentaire ca passe. Ce problème doit être visible mais j'ai tellement le nez dedans que je ne doit plus le voir.
Merci d'avance
<?php
session_start();
require_once"../controle/class.php";
if(auth::isActive()){
//Si l'utilisateur est connecté il peut alors modifier la news
//Modification
if(!empty($_POST)){
extract($_POST);
connect();
$sql="UPDATE news SET titre='$titre', article='$article', categorie='categorie' WHERE id='$id'";
$req= mysql_query($sql) or die(mysql_error());
echo "L'article a bien été modifié";
$_GET'id']=$id;
}
//Affichage de l'article dans les champs du formulaire
extract($_POST);
connect();
$sql="SELECT * FROM news WHERE id={$_GET'id']}";
$req= mysql_query($sql) or die(mysql_error());
$data=mysql_fetch_assoc($req);
else{
header('Location:../index.php');
}
}
?>
<?php require_once "../includes/config.php"; ?>
<html>
<header>
<link rel="stylesheet" type="text/css" href="../bootstrap/css/bootstrapvert.css">
</header>
<body>
<?php require_once "../includes/navigation.php"; ?>
<div class="container">
<div class="span3">
<aside>
<strong>Panneau de controle</strong></br>
<a href="#">Messages club</a></br>
<a href="#">Membres</a></br>
<a href="art_index.php">Article</a></br>
<a href="#">Photos</a></br>
<a href="logout.php">Se deconnecter</a>
</aside>
</div>
<div class="span7">
<form action="art_modif.php" method="post">
<fieldset>
<input type="hidden" name="id" value="<?php echo $data'id'];?>">
<label for="Titre">Titre</label>
<input type="text" name="titre" value="<?php echo $data'titre'];?>"></br>
<label for="Categorie">Catégorie</label>
<select name="categorie">
<option value="news">Nouvelle</option>
<option value="club">Le Club</option>
<option value="12F\">- 12 Filles</option>
<option value="14F\">- 14 Filles</option>
<option value="16F\">- 16 Filles</option>
<option value="18F\">- 18 Filles</option>
<option value="12G\">- 12 Garçons</option>
<option value="14G\">- 14 Garçons</option>
<option value="16G\">- 16 Garçons</option>
<option value="18G\">- 18 Garçons</option>
<option value="SM1">Senior 1</option>
<option value="SM2">Senior 2</option>
</select></br>
<textarea name="article" id="article" rows="3"><value="<?php echo $data'article'];?>"></textarea></br>
<input type="submit" class="btn btn-success" value="Modifier">
<input type="reset" class="btn btn-warning" value="Effacer">
</fieldset>
</form>
</div>
</div>
<?php require_once "../includes/footer_b.php"; ?>
</body>
</html>
C'est tout a fait normal que tu ai une erreur de type unexpected 'else' (T_ELSE) puisque tu met un code entre le if et le else. Ce que php ne comprend pas
ou bien tu met le code suivant avant le IF ou bien après le ELSE mais pas entre les deux ;)
extract($_POST);
connect();
$sql="SELECT * FROM news WHERE id={$_GET'id']}";
$req= mysql_query($sql) or die(mysql_error());
$data=mysql_fetch_assoc($req);
D’ailleurs en relisant ton code je dirais que ton else est la pour interdire l’accès a la page si on est pas actif et si c'est le cas alors ton else est placé au mauvais endroit puisque qu’actuellement il est dans le if du auth::isActive().
Bonjour,
Tu utilise un header() après ton session_start() hors c'est impossible en php.
Tu dois avoir une erreur du genre "Headers already sent by..."
Trouve un autre moyen de faire ta redirection soit via une fonction php utilisant du javascript ou avec la balise meta refresh de html.
Désolé de répondre aussi tard, voici le message d'erreur que j'ai
PHP Parse error: syntax error, unexpected 'else' (T_ELSE) in /Applications/MAMP/htdocs/asbv2/data/art_modif.php on line 28
Oui je me suis rendu du compte de sa apres avoir décroché un peu (30 mins de vélo ca aide) puis en revenant sur l'écran tout était plus clair. En tout cas merci pour vos coups de mains