Page 1 sur 1

Ajout dans bdd : pas de message d'erreur mais rien ne s'enregistre

Posté : 30 sept. 2019, 18:09
par wags
Bonjour à toutes et à tous,

J'ai crée une table "operations" avec les champs suivants

id_operation int(11) auto_increment
id_membre int(11) (qui plus tard sera en relation avec la table user bref)
date_entree (date)
heure_entree (time)
montant_achat int(11)

J'ai un code Hmtl pour le formulaire
<div class="register">
		<form name="registration" method="post" action="add_operation.php" enctype="multipart/form-data">
		<p>Id membre </p>
        <input type="text" class="text" value=""  name="id_membre" required >
       
       <p>Date d'entrée </p>
        <input type="text" class="text" value=""  name="date_entree" required >
		
        <p>Heure d'entrée </p>
		<input type="text" class="text" value="" name="heure_entree"  required >
		
		<p>Montant de l'achat </p>
        <input type="text" class="text" value="" name="montant_achat"  >
		
    	
		
        <div class="sign-up">
		<input type="reset" value="Reset">
		<input type="submit" name="signup"  value="Sign Up" >
		<div class="clear"> </div>
		</div>
		</form>

    </div>
et le code php
<?php session_start();
require_once('dbconnection.php');

//Code for Registration 
if(isset($_POST['signup']))
{
	$id_membre=$POST['id_membre'];
    $date_entree=$_POST['date_entree'];
	$heure_entree=$_POST['heure_entree'];
	$montant_achat=$_POST['montant_achat'];
	$msg=mysqli_query($con,"insert into operations(id_membre,date_entree,heure_entree,montant_achat) values('$id_membre','$date_entree','$heure_entree','$montant_achat')");
if($msg)
{
	echo "<script>alert('Operation ajoutée');</script>";
}
}  
?>
La connexion à la base est bonne puisque quand je change le mot de passe, j'ai un message d'erreur.

Quand je clique sur sign up, la page add_operation.php se lance bien mais reste blanche et rien ne s'enregistre dans la table.

Merci d'avance pour votre aide.

Bonne journée

Re: Ajout dans bdd : pas de message d'erreur mais rien ne s'enregistre

Posté : 30 sept. 2019, 18:19
par Saian
Salut, si tu n'as pas l'alerte c'est probablement que la requête est en erreur.
https://www.php.net/manual/fr/mysqli.error.php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Message d'erreur : %s\n", mysqli_error($link));
}

Re: Ajout dans bdd : pas de message d'erreur mais rien ne s'enregistre

Posté : 30 sept. 2019, 18:33
par wags
Bonjour Saian,

Je te remercie pour ta réponse.
Je vais voir de ce côté.

En attendant, j'ai fait un test avec un simple fichier test.php

<?php
$servername = "localhost";
$username = "root";
$password = "pass";
$dbname = "name";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO operations (id_operation, id_membre, date_entree, heure_entree, montant_achat)
VALUES (0, '4', '27/04/2019', '15:15', '5000')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?> 
Ca fonctionne mais j'ai dû changer le type de mes champs dans mysql. J'ai mis varchar(255). Avec ce fichier, ça fonctionne mais toujours pas avec l'autre.

Merci d'avance pour votre aide.