Fermer la fenêtre et évité le commentaire vide
Résolu
flo39400
Messages postés
596
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai un problème pour le moment je n'arrive pas a fermer la fenêtre et envoyer le commentaire.
La j'ai code qui envoie le commentaire avec le pseudo ('login') mais il poste aussi un commentaire vide cela ne devrai pas arrivé :/
Et j'arrive pas a fermer cette fenêtre automatiquement ou que au moins l'utilisateur arrive sur une page style votre commentaire a bien été publié.
voici mon code:
J'ai un problème pour le moment je n'arrive pas a fermer la fenêtre et envoyer le commentaire.
La j'ai code qui envoie le commentaire avec le pseudo ('login') mais il poste aussi un commentaire vide cela ne devrai pas arrivé :/
Et j'arrive pas a fermer cette fenêtre automatiquement ou que au moins l'utilisateur arrive sur une page style votre commentaire a bien été publié.
voici mon code:
<?php session_start(); ?> <body> <head> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design" /> </body> <?php //--------------------------------------------------// // fichier : formulaire.php //--------------------------------------------------// // connexion à la BDD: require_once "connexionBDD.php"; // Le temps des tests.. pour voir ce qui est reçu dans la variable // $_POST : //------------------------------------ //traitement du submit : //------------------------------------ //récupération des variables : $post = isset($_POST['post']) ? $_POST['post'] : NULL; $commentaire= isset($_POST['commentaire']) ? $_POST['commentaire'] : ''; if(!empty($_POST['commentaire'])) { echo 'Ok'; } try{ $sql = "INSERT INTO coms(post, login) VALUES (:commentaire, :login)"; $params = array(":commentaire"=>$commentaire, ":login"=>$_SESSION['login']); $prepare = $db->prepare($sql); $prepare->execute($params); }catch(PDOException $e) { } ?> <!-- formulaire html --> <form action="" method="post"> <p>Votre commentaire:</p> <h2><?php echo ''.$_SESSION['login'].''; ?></h2> <textarea name="commentaire" style="width:500px;height:200px;"><?php echo $commentaire ;?></textarea><br/> <input type="submit" value="Envoyer" > </form> </head>
A voir également:
- Fermer la fenêtre et évité le commentaire vide
- Supprimer page word vide - Guide
- Commentaire word - Guide
- Caractere vide - Guide
- Fenetre windows - Guide
- Fenêtre hors écran windows 11 - Guide
3 réponses
Bonjour,
Il te suffit de rajouter une redirection vers une page confirm.php (par exemple) après ta requête
Code corrigé :
Cordialement,
Jordane
Il te suffit de rajouter une redirection vers une page confirm.php (par exemple) après ta requête
//redirection vers ta page de confirmation... header("location : confirm.php"); exit();
Code corrigé :
<?php //--------------------------------------------------// // fichier : formulaire.php //--------------------------------------------------// // démarrage SESSION if(session_id() == '') { session_start(); } // connexion à la BDD: require_once "connexionBDD.php"; //------------------------------------ //récupération des variables : //------------------------------------ $post = isset($_POST['post']) ? $_POST['post'] : NULL; $commentaire= !empty($_POST['commentaire']) ? $_POST['commentaire'] : NULL; //------------------------------------ //traitement du submit : //------------------------------------ if($commentaire && $post) { echo 'Ok'; try{ $sql = "INSERT INTO coms(post, login) VALUES (:commentaire, :login)"; $params = array(":commentaire"=>$commentaire , ":login"=>$_SESSION['login'] ); $prepare = $db->prepare($sql); $prepare->execute($params); //redirection vers ta page de confirmation... header("location : confirm.php"); exit(); } catch(Exception $e) { echo $e->getMessage(); } } ?> <head> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design" /> </head> <body> <!-- formulaire html --> <form action="" method="post"> <p>Votre commentaire:</p> <h2><?php echo $_SESSION['login']; ?></h2> <textarea name="commentaire" style="width:500px;height:200px;"><?php echo $commentaire ;?></textarea><br/> <input type="submit" value="Envoyer" > </form> </body>
Cordialement,
Jordane
Bonjour merci a vous de vous penchez sur mon problème.
Mais il ne ce passe rien comme si la condition bloquer le processus.
Je ne peu pu poster de commentaire mais le commentaire vide ne ce poste pas.
PS: le echo OK ne s'affiche pas
Mais il ne ce passe rien comme si la condition bloquer le processus.
Je ne peu pu poster de commentaire mais le commentaire vide ne ce poste pas.
PS: le echo OK ne s'affiche pas
Tu peux essayer ça et nous dire ce que ça donne ?
<?php // Rapporte toutes les erreurs PHP error_reporting(E_ALL); //--------------------------------------------------// // fichier : formulaire.php //--------------------------------------------------// // démarrage SESSION if(session_id() == '') { session_start(); } // connexion à la BDD: require_once "connexionBDD.php"; //le temps des tests echo "<pre>Variables POST :<br>"; print_r($_POST); echo "</pre>"; //------------------------------------ //récupération des variables : //------------------------------------ $login = isset($_SESSION['login'])?$_SESSION['login']:''; $post = isset($_POST['post']) ? true : false; $commentaire= !empty($_POST['commentaire']) ? $_POST['commentaire'] : NULL; //------------------------------------ //traitement du submit : //------------------------------------ if($post){ if($commentaire ) { echo 'Ok'; try{ $sql = "INSERT INTO coms(post, login) VALUES (:commentaire, :login)"; $params = array(":commentaire"=>$commentaire , ":login"=>$login ); $prepare = $db->prepare($sql); $prepare->execute($params); // *** Redirection vers ta page de confirmation...*** // Le temps des tests.. on désactive la redirection // header("location : confirm.php"); exit(); } catch(Exception $e) { echo $e->getMessage(); } }else{ echo "<br> Il n'y a aucun commentaire à ajouter"; } } ?> <head> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design" /> </head> <body> <!-- formulaire html --> <form action="" method="post"> <p>Votre commentaire:</p> <h2><?php echo $login; ?></h2> <textarea name="commentaire" style="width:500px;height:200px;"><?php echo $commentaire ;?></textarea><br/> <input type="submit" value="Envoyer" name="post"> </form> </body>
Donc quand je suis sur la page du commentaire j'ai cela d'afficher:
Puis après avoir mis un commentaire et envoyer, j'ai cela:
Vraiment la tous marche bien :) Mon commentaire sais poster sans faire un autre commentaire vide.
Variables POST :
Array
(
)
Puis après avoir mis un commentaire et envoyer, j'ai cela:
Variables POST :
Array
(
[commentaire] => bonjour
[post] => Envoyer
)
Ok
Vraiment la tous marche bien :) Mon commentaire sais poster sans faire un autre commentaire vide.