[RESOLU] soucis de recherche

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] soucis de recherche

Re: soucis de recherche

par @rthur » 11 sept. 2017, 00:55

Dans mon formulaire sous Chrome, quand je rentre une date, cela m'affiche un calendrier. Alors que sous Firefoxe le calendrier n’apparaît plus ? il faut que je tape a la main la date ?? Je pense que l'erreur vient de là.
Mais comment résoudre se problème ? d'un navigateur a un autre il n'y a pas la même chose ....
Le champ de formulaire input type="date" n'est pas géré par Firefox, IE ni Safari (c'est une création à l'origine de Chrome) : http://caniuse.com/#search=date
IE va être remplacé par Edge progressivement, et la version 57 de Firefox qui gère cette fonctionnalité sera déployé à partir du 14 novembre prochain.
Tu peux déjà faire l'essai avec Firefox Nightly qui est déjà en v57, c'est ce que j'utilise au quotidien et je confirme que ça marche.

Autre soucis, sous chrome quand je fais un rafraîchissement, il y a une ligne qui sincrémente à chaque fois ? elle correspond aux dernière données que j'ai rentré dans le formulaire. Du coup dans ma Bdd cela incrémente a chaque fois une nouvelle ligne ??
Bah c'est normal non ?
Si tu recharges la page sur laquelle tu viens d'envoyer les données, ça les réenvoies. Si tu veux éviter cela, après l'enregistrement des données tu peux faire une redirection vers une autre page ou sinon vérifier au moment de l'enregistrement que des données identiques n'ont pas déjà été enregistrées en base

Re: soucis de recherche

par quattro » 09 sept. 2017, 16:29

Dans mon formulaire sous Chrome, quand je rentre une date, cela m'affiche un calendrier. Alors que sous Firefoxe le calendrier n’apparaît plus ? il faut que je tape a la main la date ?? Je pense que l'erreur vient de là.
Mais comment résoudre se problème ? d'un navigateur a un autre il n'y a pas la même chose ....

Autre soucis, sous chrome quand je fais un rafraîchissement, il y a une ligne qui sincrémente à chaque fois ? elle correspond aux dernière données que j'ai rentré dans le formulaire. Du coup dans ma Bdd cela incrémente a chaque fois une nouvelle ligne ??

Re: soucis de recherche

par quattro » 30 juil. 2017, 15:38

merci, j'ai rectifié le code.
J'utilise chrome pour fair mais essais. Je passe sur mozilla et là, une fois que je valide le formulaire il ne se passe rien : rien est enregistrer dans la Bdd, le <li> ne s'affiche pas, et l'entrée "date" du formulaire n'affiche pas le calendrier comme dans chrome. ???
mon code :

Code : Tout sélectionner

<body> <div id="bloc1"> <h1>Saisir données</h1> <form action="index.php" method="post"> <p> Date : <input type="date" name="date" /><br /> Ville : <input type="text" name="ville" /><br /> Période : <input type="text" name="periode" value="matin,midi,doir" /><br /> Résumé : <input type="text" name="resume"/><br /> Id du résumé : <input type="text" name="idresume"/><br /> Temp min : <input type="text" name="tmin"/><br /> Temp max : <input type="text" name="tmax"/><br /> Commentaire : <input type="text" name="comment"/><br /> <input type="submit" name="formSubmit" value="Valider" /> </p> </form> <?php if(isset($_POST['formSubmit']))// les valeurs sont postées { // je simplifie $date = $_POST['date']; $ville = $_POST['ville']; $periode = $_POST['periode']; $resume = $_POST['resume']; $idresume = $_POST['idresume']; $tmin = $_POST['tmin']; $tmax = $_POST['tmax']; $comment = $_POST['comment']; // si une des valeurs est vide if(empty($date) OR empty($ville) OR empty($periode) OR empty($resume) OR empty($idresume) OR empty($tmin) OR empty($tmax) OR empty($comment)) { $error_msg = 'une des informations est manquante.'; echo $error_msg; } else { // enregistrement dans la base $mysqli = new mysqli('localhost', 'root', 'root', 'projet_meteo');//connection $mysqli->set_charset("utf8"); // encodage utf8 // Vérification de la connexion à la base if ($mysqli->connect_errno) { echo 'Echec de la connexion ' .$mysqli->connect_error ; exit(); } if ($mysqli->query('INSERT INTO indata (comment,date,id_resume,periode,resume,tempmax,tempmin,ville) VALUES ("'. $comment .'", "'. $date .'", "'. $idresume.'", "'. $periode .'", "'. $resume .'","'. $tmax .'","'. $tmin .'","'. $ville .'")')) { //recherche . $result = $mysqli->query('SELECT * FROM indata'); while ($row = $result -> fetch_array()) : //Affiche echo "<li>". $row['date'] .";". $row['ville'] .";". $row['periode'] .";". $row['resume'] .";" . $row['id_resume'] .";". $row['tempmin'] .";". $row['tempmax'] .";". $row['comment'] . "</li><br />"; endwhile; $mysqli->close(); } } } ?> </div>

Re: soucis de recherche

par or 1 » 30 juil. 2017, 00:10

c'est bizarre d'afficher un message d'échec d'insertion quand la fonction retourne une valeur qui dit que cela s'est bien passé...

le premier if :
if(isset($_POST['formSubmit']))// les valeurs sont postées
est-ce que le contenu de la table ne doit vraiment être affiché qu'après soumission du formulaire d'ajout de données ?

soucis de recherche

par quattro » 29 juil. 2017, 23:11

Bonjour,
Voici mon code :

Code : Tout sélectionner

<div id="bloc1"> <h1>Saisir données</h1> <form action="index.php" method="post"> <p> Date : <input type="date" name="date" /><br /> Ville : <input type="text" name="ville" /><br /> Période : <input type="text" name="periode" value="matin,midi,doir" /><br /> Résumé : <input type="text" name="resume"/><br /> Id du résumé : <input type="text" name="idresume"/><br /> Temp min : <input type="text" name="tmin"/><br /> Temp max : <input type="text" name="tmax"/><br /> Commentaire : <input type="text" name="comment"/><br /> <input type="submit" name="formSubmit" value="Valider" /> </p> </form> <?php if(isset($_POST['formSubmit']))// les valeurs sont postées { // je simplifie $date = $_POST['date']; $ville = $_POST['ville']; $periode = $_POST['periode']; $resume = $_POST['resume']; $idresume = $_POST['idresume']; $tmin = $_POST['tmin']; $tmax = $_POST['tmax']; $comment = $_POST['comment']; // si une des valeurs est vide if(empty($date) OR empty($ville) OR empty($periode) OR empty($resume) OR empty($idresume) OR empty($tmin) OR empty($tmax) OR empty($comment)) { $error_msg = 'une des informations est manquante.'; echo $error_msg; } else { // enregistrement dans la base $mysqli = new mysqli('localhost', 'root', 'root', 'projet_meteo');//connection $mysqli->set_charset("utf8"); // encodage utf8 // Vérification de la connexion à la base if ($mysqli->connect_errno) { echo 'Echec de la connexion ' .$mysqli->connect_error ; exit(); } if ($mysqli->query('INSERT INTO indata (comment,date,id_resume,periode,resume,tempmax,tempmin,ville) VALUES ("'. $comment .'", "'. $date .'", "'. $idresume.'", "'. $periode .'", "'. $resume .'","'. $tmax .'","'. $tmin .'","'. $ville .'")')) { echo 'Une erreur est survenue lors de l\'insertion des données dans la base. Message d\'erreur : ' . $mysqli->error; return false; } else { //recherche . $result = $mysqli->query('SELECT * FROM indata'); while ($row = $result -> fetch_array()) : echo var_dump($row); endwhile; return true; $mysqli->close(); } } } ?>
tout à la fin du code, dans la section //recherche, je n'arrive pas a visualiser ma variable $row ??