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 :

Plusieurs if et base de données


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2020
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Plusieurs if et base de données
    Bonjour tout le monde,

    j'essaie de créer l'accès à une base de donnée puis de faire une requête.
    J'ai donc deux conditions qui s'enchainent, une qui test le code, l'autre qui valide la requête.
    Cependant j'ai des erreurs dans le code mais je ne vois pas ou.
    Pourriez vous m'aider.

    Merci
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    <!doctype html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>Formulaire d'accès</title>
    	</head>
    	<body>
    		<h3>Accès au fichier secret</h3>
    			<p>Veuillez saisir le mot de passe</p>
    			<form method="post">
    				<P>
    				<input type='password' name='MDP_secret' required minlength="5" maxlength="10"/>
    				<input type='submit' value= 'Valider'/>
    				</P>
    			<?php
    				if (isset($_POST['MDP_secret']) and $_POST['MDP_secret'] =='ESSAI')
    				{
    						echo '<p>Connection à la base de données réussie veuillez saisir votre requête</p>';
     
    				?>
    				<P>
    				<input type='text' name='requet'/>
    				<input type='submit' value= 'Valider'/>
    				</P>
    			 	}
    			<?php
    					//if (isset($_POST['requet'])
    			if (!empty($_POST['requet']))
    					{
    						try
    						{
    						$bdd = new pdo('mysql:host=localhost;dbname=news;charset=utf8', 'root','');
    						array (PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
     
    						//$reponse = $bdd -> query ('SELECT * FROM news');
    						$req = $bdd -> prepare('SELECT titre from news where contenu = ?');
    						$req -> execute(array($_get['contenu']));
    							//while ($donnees= $reponse ->fetch())
    							while ($donnees= $req ->fetch())
    							{
    							//echo $donnees['contenu'].'<br />';
    			?>
     
    							<p>
    							<STRONG>Titre de l'article</strong> :
    			<?php
    							echo $donnees['titre'];
    			?>
    							<br />
    							Ci dessous son contenu : <br />
    			<?php
    							echo $donnees['titre'];
    			?>
    							<p />
    			<?php				
    							}
    							$reponse->closecursor();
    						}
    						catch (exception $e)
    						{
    						die ('erreur :'. $e->getmessage());
    					}
    			else 
    					{
    					echo '<p>Veuillez saisir une requête</p>';
    					}
    			else
    				 {
    				echo '<p>Mot de passe incorrect</p>';
    				 }
    			?>
    			</form>
    	</body>
    </html>
    formulaire.php

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 593
    Points
    12 593
    Par défaut
    J'ai fais juste un petit nettoyage et quelques modifications , histoire d'être plus claire.
    Essayer pour voir :

    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
     
    <!doctype html>
    <html>
    <head>
        <meta charset="utf-8"/>
        <title>Formulaire d'accès</title>
    </head>
    <body>
    <h3>Accès au fichier secret</h3>
    <p>Veuillez saisir le mot de passe</p>
    <form method="post">
        <P>
            <input type='password' name='MDP_secret' required minlength="5" maxlength="10"/>
            <input type='submit' value='Valider'/>
        </P>
        <?php if (isset($_POST['MDP_secret']) and $_POST['MDP_secret'] == 'ESSAI'): ?>
            <p>Connection à la base de données réussie veuillez saisir votre requête</p>
     
     
            <p>
                <input type='text' name='requet'/>
                <input type='submit' value='Valider'/>
            </p>
        <?php endif ?>
     
        <?php if (!empty($_POST['requet'])): ?>
            <?php
            try {
                $bdd = new pdo('mysql:host=localhost;dbname=news;charset=utf8', 'root', '');
                $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
                $req = $bdd->prepare('SELECT titre from news where contenu = ?');
                $req->execute(array($_GET['contenu']));
                //while ($donnees= $reponse ->fetch())
                while ($donnees = $req->fetch()) {
                    echo $donnees['contenu'] . '<br />';
                    echo '<p>';
                    echo '<STRONG>Titre de l\'article</strong> :';
                    echo $donnees['titre'];
                    echo '<br/>';
                    echo 'Ci dessous son contenu : <br/>';
                    echo $donnees['titre'];
                    echo '<p/>';
                }
     
            } catch (Exception $e) {
                die ('erreur :' . $e->getmessage());
     
            } 
            ?>
     
        <?php else: ?>
            <p>Veuillez saisir une requête</p>
            <p>Mot de passe incorrect</p>
     
        <?php endif; ?>
     
    </form>
    </body>
    </html>

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2020
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci, je n'ai en effet plus l'erreur. Toutefois, j'aimerais que le formulaire du mot de passe disparaisse et que seul demeure le formulaire de requête. Peut être qu'il serait plus judicieux d'orienter vers une autre page destinée à la requete?

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 593
    Points
    12 593
    Par défaut
    Comme ceci :

    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
     
    <!doctype html>
    <html>
    <head>
        <meta charset="utf-8"/>
        <title>Formulaire d'accès</title>
    </head>
    <body>
    <form method="post" >
     
        <?php if (isset($_POST['MDP_secret']) and $_POST['MDP_secret'] == 'ESSAI'): ?>
            <p>Connection à la base de données réussie veuillez saisir votre requête</p>
     
     
            <p>
                <input type='text' name='requet'/>
                <input type='submit' value='Valider'/>
            </p>
        <?php else: ?>
            <h3>Accès au fichier secret</h3>
            <p>Veuillez saisir le mot de passe</p>
            <p>
                <input type='password' name='MDP_secret' required minlength="5" maxlength="10"/>
                <input type='submit' value='Valider'/>
            </p>
        <?php endif ?>
     
        <?php if (!empty($_POST['requet'])): ?>
            <?php
            try {
                $bdd = new pdo('mysql:host=localhost;dbname=news;charset=utf8', 'root', '');
                $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
                $req = $bdd->prepare('SELECT titre from news where contenu = ?');
                $req->execute(array($_GET['contenu']));
                //while ($donnees= $reponse ->fetch())
                while ($donnees = $req->fetch()) {
                    echo $donnees['contenu'] . '<br />';
                    echo '<p>';
                    echo '<STRONG>Titre de l\'article</strong> :';
                    echo $donnees['titre'];
                    echo '<br/>';
                    echo 'Ci dessous son contenu : <br/>';
                    echo $donnees['titre'];
                    echo '<p/>';
                }
     
            } catch (Exception $e) {
                die ('erreur :' . $e->getmessage());
     
            }
            ?>
     
        <?php else: ?>
            <p>Veuillez saisir une requête</p>
            <p>Mot de passe incorrect</p>
     
        <?php endif; ?>
     
    </form>
    </body>
    </html>

    Mais vous avez raison, séparer les choses est beaucoup mieux.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2020
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Parfait, je vais essayer.
    Merci!

Discussions similaires

  1. [1.x] Plusieurs configurations de base de données
    Par Fused dans le forum Symfony
    Réponses: 3
    Dernier message: 13/04/2011, 12h20
  2. [MySQL] Affichage sur plusieurs lignes dans base de données
    Par asvin dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 28/10/2008, 20h07
  3. Plusieurs problèmes avec base de données
    Par mithrendil dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 17/01/2008, 17h23
  4. [ADO.NET] [DAC] Plusieurs types de base de données
    Par BenoitM dans le forum Accès aux données
    Réponses: 4
    Dernier message: 07/12/2006, 12h31
  5. [Hibernate2]suppression de plusieurs enreg de base de donnée
    Par michaelbob dans le forum Hibernate
    Réponses: 2
    Dernier message: 15/05/2006, 17h48

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