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

PHP & Base de données Discussion :

Condition de validation


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 18
    Par défaut Condition de validation
    Bonjour à vous,

    Voilà enfaite je suis en train de travailler sur un système d'annonce d'emploi.

    Tout les gens pourrons poster des annonces, mais elles seront avant d'être poster sur le site valider par un validateur, qui recevra l'annonce par mail ^^ .

    Le seul problème c'est que je ne sais pas trop comment faire pour que quand on valide l'annonce elle apparait sur la page principal du site, j'ai pensé rajouter un champ valider dans ma table et faire un UPDATE pour mettre le champ à 1 si l'annonce est valider.

    Mais je ne sais pas trop comment faire en faite donc si vous pouviez m'aider ^^

    Je vous donne le code de la page principal est de la page de validation

    emploi.php

    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
    <?php session_start(); ?>
     
    <!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" xml:lang="fr" lang="fr">
    	<head>
    		<title>Espace Adhérents</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
    	</head>
    	<body>
    		<?php 
    		//Connexion à la base de données
    		try
    		{
    			$bdd = new PDO('mysql:host=localhost;dbname=uca67', 'root', '');
    		}
    		catch(Exception $e)
    		{
    			die('Erreur : '.$e->getMessage());
    		}
     
    		//Recupération des 5 derniers messages
    		$reponse = $bdd->query('SELECT * FROM emploi ORDER BY ID DESC LIMIT 0,10');
    		//Affichage de chaque message (toutes les données sont protégées)
    			while ($donnees = $reponse->fetch() AND isset($_SESSION['valider']))
    			{
    				echo '<p class="offre"><strong><center>' . nl2br(htmlspecialchars($donnees['id'])) . '</center><br/>' . nl2br(htmlspecialchars($donnees['titre'])) . '<br/><br/></strong>' . nl2br(htmlspecialchars($donnees['description'])) . '<br/><br/>' . '<em>Si cette offre vous intéresse, veuillez contacter:</em><br/><br><strong>' . nl2br(htmlspecialchars($donnees['nom'])) . '<br/>' . nl2br(htmlspecialchars($donnees['prenom'])) . '<br/>' . nl2br(htmlspecialchars($donnees['adresse'])) . '<br/>' . nl2br(htmlspecialchars($donnees['tel'])) . '<br/>' . nl2br(htmlspecialchars($donnees['mail'])) . '</strong></p>';
    			}
    		$reponse->closeCursor();
    		?>
    	</body>
    </html>
    et valide_mail.php

    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
    63
    64
    65
    66
    <?php session_start(); ?>
     
    <!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" xml:lang="fr" lang="fr">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
    	</head>
    	<body>
    		<?php include("en_tete.php"); ?>
    		<?php include("menu.php"); ?>
     
    	<?php 
    		//Connexion à la base de données
    		try
    		{
    			$bdd = new PDO('mysql:host=localhost;dbname=uca67', 'root', '');
    		}
    		catch(Exception $e)
    		{
    			die('Erreur : '.$e->getMessage());
    		}
     
    		//Recupération des 5 derniers messages
    		$reponse = $bdd->query('SELECT * FROM emploi ORDER BY ID DESC LIMIT 0,1');
     
    		//Affichage de chaque message (toutes les données sont protégées)
    		while ($donnees = $reponse->fetch())
    		{
    			echo '<p class="offre"><strong><center>' . nl2br(htmlspecialchars($donnees['id'])) . '</center><br/>' . nl2br(htmlspecialchars($donnees['titre'])) . '<br/><br/></strong>' . nl2br(htmlspecialchars($donnees['description'])) . '<br/><br/>' . '<em>Si cette offre vous intéresse, veuillez contacter:</em><br/><br><strong>' . nl2br(htmlspecialchars($donnees['nom'])) . '<br/>' . nl2br(htmlspecialchars($donnees['prenom'])) . '<br/>' . nl2br(htmlspecialchars($donnees['adresse'])) . '<br/>' . nl2br(htmlspecialchars($donnees['tel'])) . '<br/>' . nl2br(htmlspecialchars($donnees['mail'])) . '</strong></p>';
    		}
     
    		$reponse->closeCursor();
    	?>
     
    		<center>
    				<form method="post" name="valider" action="index.php">
    					<p>
    						<br><br><input type="submit" value="Valider">
    					</p>
    						<?php $_POST['valider'] = '1';?>
    				</form>
    		</center>
     
    		<center>
    				<form method="post" name="supprimer" action="supprimer_post.php">
    					<p>
    						<br><br><input type="submit" name="Supprimer" value="Supprimer">
    					</p>
    				</form>
    		</center>
     
    		<?php 
    			if(isset($_POST['valider']) == '1')
    			{
    				$req = $bdd->prepare('UPDATE emploi SET valider VALUES(?)');
    				$req->execute(array($_POST['valider']));
    			}
    			else
    			{	
     
    			}
    		?>
    		<?php include("pied_de_page.php"); ?>
    	</body>
    </html>
    Je vous remercie d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    j'ai pensé rajouter un champ valider dans ma table et faire un UPDATE pour mettre le champ à 1 si l'annonce est valider.
    Qu'est ce qui t'empeche de réaliser cet update ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Par défaut
    Citation Envoyé par Djydan Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $bdd->query('SELECT * FROM emploi ORDER BY ID DESC LIMIT 0,10');
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $bdd->query('SELECT * FROM emploi WHERE valider=1 ORDER BY ID DESC LIMIT 0,10');
    Restriction sur tes retours avec le "where".

    Citation Envoyé par Djydan Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = $bdd->prepare('UPDATE emploi SET valider VALUES(?)');
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = $bdd->prepare('UPDATE emploi SET valider=1 WHERE id=$id');
    Le "values" est pour les insert, pense à préciser sur quelle annonce tu effectue le update (id=$id).

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 18
    Par défaut
    Merci gwharl pour ta réponse ^^ mais avec cette requête UPDATE il me met pas le valider à 1 quand je clique sur valider ça reste tout le temps à 0

    En faite je pense que le problème viens de mon $_POST['valider'] en faite j'aimerai le mettre à 1 quand on clique sur le bouton valider et à 0 quand on clique sur le bouton supprimer

  5. #5
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Par défaut
    Dans le doute fait un echo de ta requête quand tu l'execute afin de voir si celle-ci contient le bon id de l'annonce.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 18
    Par défaut
    comme ça ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $req = $bdd->prepare('UPDATE emploi SET valider=1 WHERE id=$id');

    Parce-que avec ça j'ai le droit a un beau message d'erreur :p

    Catchable fatal error: Object of class PDOStatement could not be converted to string in C:\wamp\www\site_uca67\emploi\valide_mail.php on line 62

  7. #7
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $mareq="UPDATE emploi SET valider=1 WHERE id=$id";
    echo $mareq;
    $req = $bdd->prepare($mareq);
    Vérifie que id ait la valeur voulue, si c'est le cas le problème est en amont (surement ton formulaire).

Discussions similaires

  1. exécuter une fonction si toutes les conditions sont validées
    Par dajij dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/10/2011, 16h07
  2. arreter une procédure quand une condition est validé
    Par levasseur62 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 04/04/2011, 18h37
  3. Condition non validée
    Par xxkirastarothxx dans le forum Langage
    Réponses: 2
    Dernier message: 17/07/2008, 17h07
  4. condition invalide validée
    Par Zwiter dans le forum Langage
    Réponses: 2
    Dernier message: 10/07/2008, 16h49
  5. condition de validation
    Par sylvie69 dans le forum Access
    Réponses: 3
    Dernier message: 30/01/2006, 11h20

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