IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Partie admin complète.


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut Partie admin complète.
    Plop,

    Alors je suis en phase de finalisation d'un autre projet.
    Je dois réaliser un page admin.php. Voici les obligations que je dois respecter.

    1/ La page doit être sécurisé par un pseudo ainsi qu'un mot de passe
    2/ Une fois identifié, l'utilisateur a accès aux contenus de la page admin.
    3/ Dans cette page, doit figurer, un système de news divisé en plusieurs catégories => exemple dégustation.php et affiche.php
    4/ De plus, ce script devrai permettre de modifier, supprimer et ajouter une news
    5/ A chaque news sera affilier un PDF à consulter, ainsi qu'une date qui va figurer dans un calendrier.
    6/ Les flèches devront être généré automatiquement.

    Voici le site en question http://www.lesgourmetsexplorateurs.com

    Donc ce matin, j'ai commencé à coder quelque chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <?php 
     
    $host = 'localhost';
    $login = 'login';
    $password = '';
    $bdd = 'xxx';
    $pseudo = 'login';
    $mdp = 'mdp';
     
    if(!isset($_SESSION['login']) && !isset($_SESSION['password']) || empty($_SESSION['login']) || empty($_SESSION['password'])){ 
     
    ?>
     
    	<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
    	<html xmlns=http://www.w3.org/1999/xhtml>
    		<head>
    			<meta http-equiv=Content-Type content=text/html; charset=utf-8 />
    			<title>Les Gourmets Explorateurs - Admin</title></head>
    		<body>
    			<form method=post>
    				<div align=center>
    					<b>Nom de compte</b><br>
    					<input type=text name=login><br>
    					<b>Mot de passe</b><br>
    					<input type=password name=password><br>
    					<input type=submit>
    				</div>
    			</form>
    		</body>
    	</html>
     
    <?php
    }
    else{
    header('Location: test.php');
    }
     
    if(isset($_POST['login']) && isset($_POST['password'])){
     
    	$auth_pseudo = $_POST['login'];
    	$auth_mdp = $_POST['password'];
    	$erreur = null;
     
    	function verification(&$erreur,$auth_pseudo,$auth_mdp){
    		if(empty($auth_pseudo) || empty($auth_mdp)){
    			$erreur = 'Un ou plusieurs champs du formulaire sont vide';
    			return false; 
    		}
    		if($auth_pseudo != $pseudo || $auth_mdp != $mdp){
    			$erreur = 'Le pseudo ou mot de passe n\'est pas celui attendu';
    			return false;
    		}
    	}
     
    	$check = verification($erreur,$auth_pseudo,$auth_mdp);
    	if(check){
    		header('Location: test.php');
    	}
    	if($erreur != ''){
    	echo $erreur;
    	}
    }
    Cependant, le code ne fonctionne pas correctement.
    Les erreurs ne s'affichent à aucun moment.

    Merci.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 138
    Par défaut
    Juste en survolant le code, je pense que ton erreur est ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function verification(&$erreur,$auth_pseudo,$auth_mdp){
    le & te sert à quoi ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    Cela veut dire que la variable $erreur va changer au cours de la fonction. L'erreur ne vient pas d'ici car j'utilise la même fonction sur ma page inscirption.php et ça marche.

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    3 remarques :

    1- verification() ne renvoi jamais true
    2-
    manque le $

    3-
    tu l'as initialisé a null au début pourquoi ne pas faire le test la dessus ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    Merci de ta réponse.

    1- verification() ne renvoi jamais true
    Pourtant j'ai utilisé la même structure pour mon script d'inscription et ça à marché... Une idée ?

    tu l'as initialisé a null au début pourquoi ne pas faire le test la dessus ?
    Désolé, mais je n'ai pas compris ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    J'ai ré-écris le script mais j'ai une erreur qui m'intrigue un peu. :s


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    	// Afficher news
    <?php	
    	require 'config.php';
    	mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
    	mysql_select_db(DB_BDD);
     
    	$news_query = mysql_query('SELECT * FROM news');
    	if(!empty($news_query)){
    		?>
    		<table border="1">
    			<tr>
    				<th>Titre</th>
    				<th>Date</th>
    				<th>Catégorie</th>
    				<th>Pdf</th>
    				<th>Modifier</th>
    				<th>Supprimer</th>
    			</tr>
    			<?php while($data = mysql_fetch_assoc($news_query)){ ?>
    			<tr>
    				<td><?php echo $data['titre']; ?></td>
    				<td><?php echo $data['date']; ?></td>
    				<td><?php echo $data['categorie']; ?></td>
    				<td><?php echo $data['pdf']; ?></td>
    				<td><?php echo '<a href="admin.php?modifier_news='.$data['id'].'" />'; ?>Modifier</a></td>
    				<td><?php echo '<a href="admin.php?supprimer_news='.$data['id'].'" />'; ?>Supprimer</a></td>
    			</tr>
    			<?php } ?>
    			</table>
    		<br/>
    		<?php
    		// Editer news
     
    		if(isset($_GET['modifier_news'])){
    			$id = addslashes($data['id']);
    			$id_query = mysql_query("SELECT * FROM news WHERE id='.$id.'")
    				or die('Boom');
    			mysql_fetch_assoc($id_query)
    				or die('Crack');
    		}
    ?>
    Ce code permet d'afficher les news de la BDD et de pouvoir les éditer par la suite. Je n'ai pas complètement finit son écriture, mais j'ai un problème dans ce passage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    		// Editer news
     
    		if(isset($_GET['modifier_news'])){
    			$id = addslashes($data['id']);
    			$id_query = mysql_query("SELECT * FROM news WHERE id='.$id.'")
    				or die('Boom');
    			mysql_fetch_assoc($id_query)
    				or die('Crack');
    		}
    Le script me retourne "Crack" ce qui signifie que le "mysql_fetch_assoc" est foireux.

    Or je ne sais pas pourquoi. Si quelqu'un pourrait m'aiguiller.

    Au passage, je ne suis vraiment pas doués avec les tableaux. :p

    Edit : Problème réglé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conception partie Admin
    Par pruderic dans le forum UML
    Réponses: 3
    Dernier message: 26/05/2008, 10h23
  2. Aide pour partie ADMIN
    Par Mom's dans le forum Langage
    Réponses: 1
    Dernier message: 04/05/2007, 21h36
  3. [Sécurité] sécuriser ma partie admin
    Par dedel53 dans le forum Langage
    Réponses: 1
    Dernier message: 13/03/2007, 18h38
  4. [CKEditor] pb d'installation fckeditor dans ma partie admin
    Par dedel53 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 05/03/2007, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo