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

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 : Ajout dans bdd : pas de message d'erreur mais rien ne s'enregistre

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

par wags » 30 sept. 2019, 18:33

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.

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

par Saian » 30 sept. 2019, 18:19

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));
}

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

par wags » 30 sept. 2019, 18:09

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