Insertion dans ma base avec Refresh
Dario
-
A.Nonymous -
A.Nonymous -
Bonjour,
j'ai fais un petit formulaire pour tester mes connaissances en bases de données. J'ai réussi à faire la connexion entre le formulaire et la base. Et j'arrive à insérer les données. Seulement, chaque fois que la page se charge, une ligne s'insère aussi (dès que j'actualise la page, il y a insertion dans la base).
Rappel: J'ai mis le formulaire et le traitement dans le même fichier !!!
Ce que je veux, c'est que l'insertion ne se fasse qu'au clic sur "SUBMIT"
Voici un petit aperçu de mon code :
<?php
$server="localhost";
$user="root";
$pwd="";
$conn=@mysql_connect($server,$user,$pwd);
If ($conn == FALSE)
{
die ("connexion impossible<br/>");
}
echo ("Bon!! La connexion a réussie<br/>");
//SELECTION DE LA BASE DE DONNEES
$bdd="gestionbase";
$connect_base = @mysql_select_db($bdd);
If ($connect_base == FALSE)
{
die ("Sélection BASE Impossible<br/>");
}
echo ("Sélection BASE Réussie haan<br/>");
//INSERE LES DONNEES DE LA BASE
$matricule=$_POST["matricule"];
$name=$_POST["id"][0];
$prename=$_POST["id"][1];
$sql = "INSERT INTO agent (matricule_agent, nom_agent, prenom_agent) values ('$matricule', '$name', '$prename')";
mysql_query ($sql, $conn);
echo (réussi);
?>
<form method="post" name="inscrire_agent" action="Enregistrement_Agent.php" style="width:500px;">
<table>
<tr>
<td width="150"> <b>Matricule : </b> </td>
<td width="200">
<div align="justify">
<input name="matricule" type="text" maxlength="50" />
</div></td>
</tr>
<tr>
<td width="150"> <b>Nom : </b> </td>
<td width="200">
<div align="justify">
<input name="id[]" type="text" maxlength="50" />
</div></td>
</tr>
<tr>
<td width="150"> <b>Prénom : </b> </td>
<td width="200">
<div align="justify">
<input name="id[]" type="text" maxlength="50" />
</div></td>
</tr>
</table>
<br/>
<table width="100%">
<tr align="center">
<td width="130" align="center"> <input type="submit" name="save" value="Enregistrer" /> </td>
<td width="130" align="center"> <input type="reset" name="efface" value="Annuler" /> </td>
</tr>
</table>
</form>
Merci !!!!
j'ai fais un petit formulaire pour tester mes connaissances en bases de données. J'ai réussi à faire la connexion entre le formulaire et la base. Et j'arrive à insérer les données. Seulement, chaque fois que la page se charge, une ligne s'insère aussi (dès que j'actualise la page, il y a insertion dans la base).
Rappel: J'ai mis le formulaire et le traitement dans le même fichier !!!
Ce que je veux, c'est que l'insertion ne se fasse qu'au clic sur "SUBMIT"
Voici un petit aperçu de mon code :
<?php
$server="localhost";
$user="root";
$pwd="";
$conn=@mysql_connect($server,$user,$pwd);
If ($conn == FALSE)
{
die ("connexion impossible<br/>");
}
echo ("Bon!! La connexion a réussie<br/>");
//SELECTION DE LA BASE DE DONNEES
$bdd="gestionbase";
$connect_base = @mysql_select_db($bdd);
If ($connect_base == FALSE)
{
die ("Sélection BASE Impossible<br/>");
}
echo ("Sélection BASE Réussie haan<br/>");
//INSERE LES DONNEES DE LA BASE
$matricule=$_POST["matricule"];
$name=$_POST["id"][0];
$prename=$_POST["id"][1];
$sql = "INSERT INTO agent (matricule_agent, nom_agent, prenom_agent) values ('$matricule', '$name', '$prename')";
mysql_query ($sql, $conn);
echo (réussi);
?>
<form method="post" name="inscrire_agent" action="Enregistrement_Agent.php" style="width:500px;">
<table>
<tr>
<td width="150"> <b>Matricule : </b> </td>
<td width="200">
<div align="justify">
<input name="matricule" type="text" maxlength="50" />
</div></td>
</tr>
<tr>
<td width="150"> <b>Nom : </b> </td>
<td width="200">
<div align="justify">
<input name="id[]" type="text" maxlength="50" />
</div></td>
</tr>
<tr>
<td width="150"> <b>Prénom : </b> </td>
<td width="200">
<div align="justify">
<input name="id[]" type="text" maxlength="50" />
</div></td>
</tr>
</table>
<br/>
<table width="100%">
<tr align="center">
<td width="130" align="center"> <input type="submit" name="save" value="Enregistrer" /> </td>
<td width="130" align="center"> <input type="reset" name="efface" value="Annuler" /> </td>
</tr>
</table>
</form>
Merci !!!!
A voir également:
- Insertion dans ma base avec Refresh
- Base de registre - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
1 réponse
Avant tout, il serait bon de ne pas se connecter à la BDD si cela n'est pas nécessaire.
Pour en revenir à la demande, il faudrait ajouter ceci après le traitement du $_POST, voir l'insert en base selon ce qui est souhaité :
header('Location: .');
Techniquement, cela aura pour effet de lancer une nouvelle requête GET à la suite de la requête POST. Ainsi, en actualisant la page, on relance une requête GET et non une requête POST.
Pour en revenir à la demande, il faudrait ajouter ceci après le traitement du $_POST, voir l'insert en base selon ce qui est souhaité :
header('Location: .');
Techniquement, cela aura pour effet de lancer une nouvelle requête GET à la suite de la requête POST. Ainsi, en actualisant la page, on relance une requête GET et non une requête POST.