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

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Points : 47
    Points
    47
    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
    2 798
    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 : 2 798
    Points : 5 591
    Points
    5 591
    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 du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Points : 47
    Points
    47
    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
    Points : 12 572
    Points
    12 572
    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 ?

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Points : 47
    Points
    47
    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 du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Points : 47
    Points
    47
    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é.

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Points : 47
    Points
    47
    Par défaut
    Plop,

    Je suis entrain de faire un petit script permettant de :

    - Afficher tous les noms de fichiers dans un dossier.
    - Renvoyé le résultat dans une liste déroulante
    - Pour finir, si l'utilisateur clique sur modifier la news, la liste déroulante affichera en selected:selected; le nom du fichier choisis pour cette news.

    Le script marchait très bien mais seulement, ce soir j'ai du le modifier pour intégrer la 3eme fonction.

    Or, il me retourne ces erreurs.

    Notice: Undefined variable: valeur in D:\wamp\www\GourmetPHP\admin.php on line 152

    Notice: Undefined variable: valeur in D:\wamp\www\GourmetPHP\admin.php on line 153

    Notice: Undefined variable: valeur in D:\wamp\www\GourmetPHP\admin.php on line 153


    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
     
    		<?php
    		$dossier = './pdf';
    		$lecture = scandir($dossier);
    		$lecture_propre = array_slice($lecture,2);
    		$list_pdf = 
    		'<option value"0">-- SELECTIONNEZ --</option>
    		foreach("'.$lecture_propre.'" AS "'.$valeur.'"){
    			"<option value"'.$valeur.'">'.$valeur.'</option>";
    		}';
    		if(isset($_GET['modifier_news'])){
    			$liste_pdf = str_replace('value="'.$news['pdf'].'"','value="'.$news['pdf'].'" selected="selected"',$list_pdf);
    		}
    		echo '<select name="pdf">'.$list_pdf.'</select>';
    		?>
    Je pense que ça se joue avec les " et ' devant les variables, mais j'ai tester pas mal de combinaison sans réussite. :s

    Merci.

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu ne peux pas incorporer un foreach dans une affectation. Il faut donc décomposer et concaténer (sans oublier le = entre value et la valeur )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $list_pdf = '<option value="0">-- SELECTIONNEZ --</option>';
    foreach($lecture_propre AS $valeur ){
    	$list_pdf .= '<option value="'.$valeur.'">'.$valeur.'</option>';
    }

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Points : 47
    Points
    47
    Par défaut
    Merci, ça marche très bien.

+ 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, 11h23
  2. Aide pour partie ADMIN
    Par Mom's dans le forum Langage
    Réponses: 1
    Dernier message: 04/05/2007, 22h36
  3. [Sécurité] sécuriser ma partie admin
    Par dedel53 dans le forum Langage
    Réponses: 1
    Dernier message: 13/03/2007, 19h38
  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, 14h28

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