Historique PHP

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 : Historique PHP

Re: Historique PHP

par jems » 04 mai 2017, 23:48

Bon parfait j'ai réussi ! Maintenant il faut que je récupéré toutes les villes correspondants aux id dans la table user_searchs pour les affichers

Voici mon code actuel :

Code : Tout sélectionner

<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-10"> </head> <body> <form method="post" action=""> <p>Recherchez votre ville</p> <input type="text" name="recherche"> <p> <input type="submit" name="validation"/></p> </form> <?php // avec !empty tu vérifies si la variable n'ai pas vide et n'ai pas initialisé if (!empty($_POST['validation'])) { if (empty($_POST['recherche'])) { echo 'Veuillez rentrer le nom de votre ville'; } else { // Pour éviter qu'on te balance n'importe quoi on échappe els balises et caractères spéciaux $recherche = filter_var($_POST['recherche'],FILTER_SANITIZE_STRING); $mysqli = new mysqli ('localhost', 'root', '', 'recherches'); $result = $mysqli->query('SELECT villes_id, villes_nom, villes_infos FROM villes WHERE villes_nom LIKE "%' . $recherche .'%"'); // si on a rienif (!$result) { if($result->num_rows === 0) { echo 'aucun résultat trouvé' ; } else { // mettre des noms représentatifs des données ici ville while($row= $result->fetch_assoc()) { // on insère et ensuite on affiche $mysqli->query('INSERT INTO user_searchs (user_id,villes_id) VALUES (1, '.$row ['villes_id'].')'); echo $row['villes_nom'] . '<br>' . $row['villes_infos']; } } // on ferme les flux important $result->close(); $mysqli->close(); } } ?> </body> </html>

Re: Historique PHP

par jems » 04 mai 2017, 20:35

up

Re: Historique PHP

par jems » 03 mai 2017, 17:40

Ok donc j'arrive à afficher le nom et les infos de la ville par contre j'arrive toujours pas à enregistrer l'id de la ville obtenue dans la table user_searchs.

Et il me reste ce message d'erreur : Notice: Undefined index: id on line 38

Code : Tout sélectionner

<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-10"> </head> <body> <form method="post" action=""> <p>Recherchez votre ville</p> <input type="text" name="recherche"> <p> <input type="submit" name="validation"/></p> </form> <?php // avec !empty tu vérifies si la variable n'ai pas vide et n'ai pas initialisé if (!empty($_POST['validation'])) { if (empty($_POST['recherche'])) { echo 'Veuillez rentrer le nom de votre ville'; } else { // Pour éviter qu'on te balance n'importe quoi on échappe els balises et caractères spéciaux $recherche = filter_var($_POST['recherche'],FILTER_SANITIZE_STRING); $mysqli = new mysqli ('localhost', 'root', '', 'recherches'); $result = $mysqli->query('SELECT villes_id, villes_nom, villes_infos FROM villes WHERE villes_nom LIKE "%' . $recherche .'%"'); // si on a rienif (!$result) { if($result->num_rows === 0) { echo 'aucun résultat trouvé' ; } else { // mettre des noms représentatifs des données ici ville while($row= $result->fetch_assoc()) { // on insère et ensuite on affiche $mysqli->query('INSERT INTO user_searchs (user_id,ville_id) VALUES (1, '.$ville['id'].')'); echo $row['villes_nom'] . '<br>' . $row['villes_infos']; } } // on ferme les flux important $result->close(); $mysqli->close(); } } ?> </body> </html>

Re: Historique PHP

par or 1 » 02 mai 2017, 18:44

SELECT villes_id, villes_nom, villes_infos
echo $ville['nom'] . ' ' . $ville['info'];
et dans le premier code qui ne générait pas cette erreur :
echo $row['villes_nom'] . '<br>' . $row['villes_infos'];

Re: Historique PHP

par jems » 02 mai 2017, 18:31

oui je les ais compris mais je ne sait les résoudre

Re: Historique PHP

par or 1 » 02 mai 2017, 18:16

il faut comprendre le message d'erreur :
Notice: Undefined index: id on line 39
Notice: Undefined index: nom on line 40
Notice: Undefined index: info on line 40

Re: Historique PHP

par jems » 02 mai 2017, 18:06

Je comprend pas ce que tu veux me dire ^^ Désolé je suis un boulet ><

Re: Historique PHP

par or 1 » 02 mai 2017, 17:59

SELECT villes_id, villes_nom, villes_infos
echo $ville['nom'] . ' ' . $ville['info'];

Re: Historique PHP

par jems » 02 mai 2017, 14:32

Ouais mais pour le coups j'avais changé justement, et lorsque je rentre le nom de la vilel celà ne me ressort même plus les infos

Code : Tout sélectionner

<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-10"> </head> <body> <form method="post" action=""> <p>Recherchez votre ville</p> <input type="text" name="recherche"> <p> <input type="submit" name="validation"/></p> </form> <?php // avec !empty tu vérifies si la variable n'ai pas vide et n'ai pas initialisé if (!empty($_POST['validation'])) { if (empty($_POST['recherche'])) { echo 'Veuillez rentrer le nom de votre ville'; } else { // Pour éviter qu'on te balance n'importe quoi on échappe els balises et caractères spéciaux $recherche = filter_var($_POST['recherche'],FILTER_SANITIZE_STRING); $mysqli = new mysqli ('localhost', 'root', '', 'recherches'); $result = $mysqli->query('SELECT villes_id, villes_nom, villes_infos FROM villes WHERE villes_nom LIKE "%' . $recherche .'%"'); // si on a rienif (!$result) { if($result->num_rows === 0) { echo 'aucun résultat trouvé' ; } else { // mettre des noms représentatifs des données ici ville while($ville= $result->fetch_assoc()) { // on insère et ensuite on affiche $mysqli->query('INSERT INTO user_searchs (user_id,ville_id) VALUES (1, '.$ville['id'].')'); echo $ville['nom'] . ' ' . $ville['info']; echo '<br/>'; } } // on ferme les flux important $result->close(); $mysqli->close(); } } ?> </body> </html>

Re: Historique PHP

par kevin254kl » 02 mai 2017, 10:30

tes attributs ne sont pas définies car il n'existe pas puisque tu utilises les mauvais noms

Code : Tout sélectionner

// on insère et ensuite on affiche $mysqli->query('INSERT INTO historique (userId,villeId) VALUES (1, '.$ville['id'].')'); echo $ville['nom'] . ' ' . $ville['info'];
ici remplace par id_ville, nom_ville et info_ville.

Re: Historique PHP

par jems » 01 mai 2017, 22:55

D'accord du coups mtn ^^ :

Notice: Undefined index: id on line 39
Notice: Undefined index: nom on line 40
Notice: Undefined index: info on line 40

Re: Historique PHP

par kevin254kl » 01 mai 2017, 16:48

Moi ça fonctionne, tu dois avoir une erreur sql

Code : Tout sélectionner

if (!$result) { trigger_error('erreur : ' . $mysqli->error); }
Ici tu vas récupérer l'erreur.

Re: Historique PHP

par jems » 01 mai 2017, 14:29

Re coucou d'abord merci de la réponse j'ia donc modifier pour que tout ça corresponde à mes tables. J'ai un problème lorsque je valide deux mesage d'erreurs s'affichent :

-Notice: Trying to get property of non-object on line 28 =

Code : Tout sélectionner

if($result->num_rows === 0)
-Fatal error: Call to a member function fetch_assoc() on boolean on line 35 =

Code : Tout sélectionner

while($ville= $result->fetch_assoc())
"

Re: Historique PHP

par kevin254kl » 01 mai 2017, 14:07

Salut,

Code : Tout sélectionner

<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-10"> </head> <body> <form method="post" action=""> <p>Recherchez votre ville</p> <input type="text" name="recherche"> <p> <input type="submit" name="validation"/></p> </form> <?php // avec !empty tu vérifies si la variable n'est pas vide et n'est pas initialisée if (!empty($_POST['validation'])) { if (empty($_POST['recherche'])) { echo 'Veuillez rentrer le nom de votre ville'; } else { // Pour éviter qu'on te balance n'importe quoi on échappe els balises et caractères spéciaux $recherche = filter_var($_POST['recherche'],FILTER_SANITIZE_STRING); $mysqli = new mysqli ('localhost', 'root', '', 'recherches'); $result = $mysqli->query('SELECT id, nom, info FROM villes WHERE nom LIKE "%' . $recherche .'%"'); // si on a rien if($result->num_rows === 0) { echo 'aucun résultat trouvé' ; } else { // mettre des noms représentatifs des données ici ville while($ville= $result->fetch_assoc()) { // on insère et ensuite on affiche $mysqli->query('INSERT INTO historique (userId,villeId) VALUES (1, '.$ville['id'].')'); echo $ville['nom'] . ' ' . $ville['info']; echo '<br/>'; } } // on ferme les flux important $result->close(); $mysqli->close(); } } ?> </body> </html>
Tu devrais faire un mcd avant tout projet la c'est pour un entrainement mais c'est une bonne habitude à prendre, change le nom cela le nom des attributs de ta table je n'ai pas prit les même que toi.

Re: Historique PHP

par jems » 01 mai 2017, 00:40

Du coups je suis un peu peur que donne le script et ou dois-je le placer ?

Cordialement,