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 :

Bug incompréhensible via insert et update


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Bug incompréhensible via insert et update
    Bonjour je rencontre 2 bugs peut être logique pour certains, et je remercie par avance ceux qui peuvent m'éclairer.

    Mon premier bug:

    Dans certaines sections la mise à jour des input via update dans un formulaire fonctionne parfaitement mais dans d'autres sections, comme celle ci par exemple, il m'est impossible de mettre à jour un input en effaçant complètement son contenu, je dois laisser au moins une lettre ou un espace sinon lorsque je test et que j'enregistre, mon bouton "envoyer le formulaire" agit comme si j'actualisais ma page ?????? Je n'ai pas mis d'obligation c'est à dire que l'utilisateur peut laisser cette case vide.



    Mon deuxième bug:
    Lorsque je code une page ou il y a un formulaire pour insérer ou mettre à jour des données, si j'ajoute plus d'une input à la fois ( $_POST['lienRs1'], $_POST['rs2'], $_POST['lienRs2'], $_POST['rs3'], $_POST['lienRs3'] ...) lorsque je test une insertion ou une mise à jour et que j'enregistre, mon bouton "envoyer le formulaire" agit comme si j'actualisais ma page alors que si j'ajoute une ligne à la fois puis enregistre ( $_POST['lienRs1'] et test, et bien ça fonctionne ???




    Voici le code de ma page about-section.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
     
    <?php
     
    include ('session.php');
     
    $about = $bdd->query('SELECT * FROM about WHERE id = 1');
     
    $about = $about ->fetch(PDO::FETCH_ASSOC);
     
     
    if(isset($_POST['contenu'], $_POST['rs1'], $_POST['lienRs1'], $_POST['rs2'], $_POST['lienRs2'], $_POST['rs3'], $_POST['lienRs3'])) {
    	if( !empty($_POST['contenu']) AND !empty($_POST['rs1']) AND !empty($_POST['lienRs1']) AND !empty($_POST['rs2']) AND !empty($_POST['lienRs2']) AND !empty($_POST['rs3']) AND !empty($_POST['lienRs3'])) {
    		$contenu = htmlspecialchars($_POST['contenu']); $rs1 = htmlspecialchars($_POST['rs1']); $lienRs1 = htmlspecialchars($_POST['lienRs1']); $rs2 = htmlspecialchars($_POST['rs2']); 
                    $lienRs2 = htmlspecialchars($_POST['lienRs2']); $rs3 = htmlspecialchars($_POST['rs3']); $lienRs3 = htmlspecialchars($_POST['lienRs3']);
     
    			$update = $bdd->prepare('UPDATE about SET contenu = ?, rs_1 = ?, lien_rs1 = ?, rs_2 = ?, lien_rs2 = ?, rs_3 = ?, lien_rs3 = ?, date_maj = NOW() WHERE id = 1');
    			$update->execute(array($contenu, $rs1, $lienRs1, $rs2, $lienRs2, $rs3, $lienRs3));
                            header('Location: ../admin/about.php');
    			exit;
    	}
     
    }	else {
     
    			if(isset($_POST['contenu'], $_POST['rs1'], $_POST['lienRs1'], $_POST['rs2'], $_POST['lienRs2'], $_POST['rs3'], $_POST['lienRs3'])) {
    	                    if( !empty($_POST['contenu']) AND !empty($_POST['rs1']) AND !empty($_POST['lienRs1']) AND !empty($_POST['rs2']) AND !empty($_POST['lienRs2']) AND !empty($_POST['rs3']) AND !empty($_POST['lienRs3'])) {
    		                $contenu = htmlspecialchars($_POST['contenu']); $rs1 = htmlspecialchars($_POST['rs1']); $lienRs1 = htmlspecialchars($_POST['lienRs1']); $rs2 = htmlspecialchars($_POST['rs2']); 
                                    $lienRs2 = htmlspecialchars($_POST['lienRs2']); $rs3 = htmlspecialchars($_POST['rs3']); $lienRs3 = htmlspecialchars($_POST['lienRs3']);
     
    				$ins = $bdd->prepare('INSERT INTO about (id, contenu, rs_1, lien_rs1, rs_2, lien_rs2, rs_3, lien_rs3, date_crea) VALUES (1, ?, ?, ?, ?, ?, ?, ?, NOW())');
     
    				$ins->execute(array($contenu, $rs1, $lienRs1, $rs2, $lienRs2, $rs3, $lienRs3));
     
    				header('Location: ../admin/about.php');
     
    				exit;
     
       				} 
    			} 
     
     
    } 
    ?>




    Ma page about-section.php est incluse dans cette page, qui se nomme about.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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
     
    <?php
     
    /** 
       *
       * Page Rédaction / Édition.
       *
    */
     
     
    include ('includes/bdd-connect.php');
     
    include ('includes/session.php');
     
    include ('includes/about/about-section.php');
    ?>
     
     
     
    <DOCTYPE html>
    ...
    </head>
     
    <body id="body-scroll">
     
    	<?php
     
    	include ('includes/menu.php');
     
    	?>
     
     
    	<form class="form-pst" method="POST" enctype="multipart/form-data" name="formComplet">
     
                <div class="space">
                    <textarea style="height:100px; text-align:left;" class="input-style" name="contenu" placeholder="À propos de moi"><?php echo $about['contenu']; ?></textarea>
                </div>
     
     
                <div class="space">	
     
                    <input class="input-style" type="text" name="rs1"     placeholder="Nom réseaux sociaux 1 " value="<?php echo $about['rs_1']; ?>">
     
                </div>
     
     
                <div class="space">	
     
                    <input class="input-style" type="text" name="lienRs1" placeholder="Lien réseaux sociaux 1" value="<?php echo $about['lien_rs1']; ?>">
     
                </div>
     
     
                <div class="space">	
     
                    <input class="input-style" type="text" name="rs2"     placeholder="Nom réseaux sociaux 2" value="<?php echo $about['rs_2']; ?>">
     
                </div>
     
     
                <div class="space">	
     
                    <input class="input-style" type="text" name="lienRs2" placeholder="Lien réseaux sociaux 2" value="<?php echo $about['lien_rs2']; ?>">
     
                </div>
     
     
                <div class="space">	
     
                    <input class="input-style" type="text" name="rs3"     placeholder="Nom réseaux sociaux 3" value="<?php echo $about['rs_3']; ?>">
     
                </div>
     
     
                <div class="space">	
     
                    <input class="input-style" type="text" name="lienRs3" placeholder="Lien réseaux sociaux 3" value="<?php echo $about['lien_rs3']; ?>">
     
                </div>
     
     
     
    	    <div class="space-submit">
     
    		<input id="send-button" class="input-style" type="submit" value="Enregistrer">
     
    	    </div>
     
    			</form>
    		</div>
    	</div>	
     
     
    </body>
    </html>

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    L'erreur provenait de la if(!empty($_POST['footerSection'])) {} qui empêchait les input vide lors de l'insertion et de l'update.

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

Discussions similaires

  1. bug incompréhensible
    Par petdelascar dans le forum MFC
    Réponses: 4
    Dernier message: 19/11/2005, 19h31
  2. performance delete/insert vs update
    Par Dionisos dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/08/2005, 18h23
  3. [Debutant] Insert ou update...
    Par kluh dans le forum Oracle
    Réponses: 15
    Dernier message: 13/07/2005, 14h35
  4. événement sur INSERT, DELETE, UPDATE
    Par papouAlain dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/12/2004, 15h40
  5. [Débutant][PS] modifier un insert en update
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 19/05/2004, 16h33

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