Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/10/2011, 14h47   #1
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
Par défaut rafraichissement lors d'entrée de données

Bonjour.

La dernière fois que j'ai touché à PHP avec Mysqli, ça date de quelques mois et j'ai oublié des trucs. Pour la sécurité des bases, ça va.

Mon problème est que lorsque j'entre une donnée dans firstname et lastname, je dois cliquer deux fois pour qu'apparaisse à l'affichage. L'affichage et la nouvelle entrée se trouve sur la même page. C'est ce qu'il me faut pour un site.

Quelqu'un pourrait me guider sur ça S.V.P. Merci ?

Code :
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
<?php
$mysqli = new mysqli("localhost", "site", "site", "site");
 
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
	printf("Erreur de connexion : %s\n", mysqli_connect_error());
	exit();
}
 
$query = "SELECT * FROM `players` ORDER BY `players`.`firstname`  DESC";
 
if ($result = $mysqli->query($query)) {
 
    /* Tableau associatif de la ligne sélectionnée */
    while ($row = $result->fetch_assoc()) {
        echo $row["lastname"].'<br>';
    }
 
		$row_cnt = $result->num_rows;
    echo 'Résultat obtenu : '. $row_cnt;
 
    /* Libération du jeu de résultats */
    $result->close();
}
 
if(isset($_POST['submit'])) {
if(!empty($_POST['firstname']) && !empty($_POST['lastname'])) {
 
		$firstname = $_POST['firstname'];
		$lastname = $_POST['lastname'];
 
		$mysqli->query("INSERT INTO `site`.`players` (`id`, `firstname`, `lastname`) VALUES (NULL, '$firstname', '$lastname')");
	}
 
?>
 
	<html>
	<body>
 
	<form action="mysqli.php" method="post">
	Firstname: <input type="text" name="firstname" />
	Lastname: <input type="text" name="lastname" />
	<input name="submit" type="submit" />
	</form>
 
	</body>
	</html> 
 
<?php
}
/* Fermeture de la connexion */
$mysqli->close();
 
?>
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 14h51   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par dancom5 Voir le message
Pour la sécurité des bases, ça va.
non, la tu ne protèges pas tes valeurs
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 14h55   #3
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
Je sais, c'est pas sur ça mon message, c'est sur le fait que je dois cliquer deux fois pour faire l'affichage après l'entrée de données.

Citation:
Envoyé par stealth35 Voir le message
non, la tu ne protèges pas tes valeurs
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 14h56   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
fait ton INSERT avant ton SELECT, mais je te conseil de faire un fichier pour chaque action
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 15h01   #5
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
1er affichage :
  1. tu comptes
  2. pas de $_POST, donc on ignore l'insert
  3. affichage du formulaire

Tu remplis le formulaire, tu valides :
  1. tu comptes (l'insert n'a pas été fait alors le chiffre est le même)
  2. $_POST présent, donc tu insertes
  3. affichage du formulaire

Tu remplis le formulaire, tu valides :
  1. tu comptes, le 1er insert ayant fonctionné tu as un +1 mais pas de +2
  2. $_POST présent, donc tu insertes
  3. affichage du formulaire

etc...
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 15h28   #6
Membre du Club
 
Inscription : janvier 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 317
Points : 62
Points : 62
Merci pour l'aide rapide.

J'ai mis INSERT avant SELECT. l'entrée et l'affichage se fait bien.
Et j'ai enlevé le isset sur submit pour avoir toute l'affichage.

Merci.. il me reste à compléter selon les règles de l'art pour la sécurité et le standard w3c.
dancom5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h18.


 
 
 
 
Partenaires

Hébergement Web