Insert vide
Fermé
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
-
1 févr. 2020 à 13:36
jordane45 Messages postés 38430 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 février 2025 - 3 févr. 2020 à 19:10
jordane45 Messages postés 38430 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 février 2025 - 3 févr. 2020 à 19:10
voici mon code :
$ill='';
if(isset($_GET['ill']){
$ill=$_GET['ill'];
}
echo $ill;
$mysqli->query("insert into malade(nom,code,maladie) values ('$nom','$code','$ill'))or die($mysqli->error());
le insert fonctionne mais dans la case maladie c'est vide meme si echo affiche la maladie
$ill='';
if(isset($_GET['ill']){
$ill=$_GET['ill'];
}
echo $ill;
$mysqli->query("insert into malade(nom,code,maladie) values ('$nom','$code','$ill'))or die($mysqli->error());
le insert fonctionne mais dans la case maladie c'est vide meme si echo affiche la maladie
A voir également:
- Insert vide
- Touche insert - Guide
- Supprimer page word vide - Guide
- Coeur vide ✓ - Forum Mail
- Formate pour taxer client frigo vide - Forum Vos droits sur internet
- Coeur vide ✓ - Forum Facebook
8 réponses
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
3 févr. 2020 à 03:01
3 févr. 2020 à 03:01
Merci, dès tes prochains messages, d'utiliser les balises de code CORRECTEMENT.... histoire qu'on puisse avoir la coloration syntaxique et l'indentation.
Cela fait plusieurs fois qu'on te le dit : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite.. quand on te demande le code COMPLET .. ben.. c"est COMPLET.
Là, il manque des lignes dans ta premières pages...
- d'où viennent les variables comme, par exemple $num_dossier; ?
- Où se trouve le bouton submit de ton formulaire et la balise </form> ?
Enfin bon.. ça nous permet de voir les premières erreurs que tu as commis dans ton code ...
Dans ta première page, Tu as mis :
Et
C'est ... ou l'un .. ou l'autre.. mais pas les deux en même temps !!
Soit tu rediriges vers la page pro2 ( avec le "action" de ton form ) , soit tu inclus le code du fichier pro2 dans ta page (ce que fait le require ).
PS: le "oninput" n'a rien à faire là... surtout dans une balise form.. tu peux le retirer.
Pour résoudre ton souci,
Je te conseille donc de conserver le require, et de remplacer ton form par
Cela fait plusieurs fois qu'on te le dit : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite.. quand on te demande le code COMPLET .. ben.. c"est COMPLET.
Là, il manque des lignes dans ta premières pages...
- d'où viennent les variables comme, par exemple $num_dossier; ?
- Où se trouve le bouton submit de ton formulaire et la balise </form> ?
Enfin bon.. ça nous permet de voir les premières erreurs que tu as commis dans ton code ...
Dans ta première page, Tu as mis :
require_once 'pro2.php';
Et
<form action="pro2.php" method="POST" oninput="">
C'est ... ou l'un .. ou l'autre.. mais pas les deux en même temps !!
Soit tu rediriges vers la page pro2 ( avec le "action" de ton form ) , soit tu inclus le code du fichier pro2 dans ta page (ce que fait le require ).
PS: le "oninput" n'a rien à faire là... surtout dans une balise form.. tu peux le retirer.
Pour résoudre ton souci,
Je te conseille donc de conserver le require, et de remplacer ton form par
<form action="" method="POST">
NHenry
Messages postés
15193
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 février 2025
353
1 févr. 2020 à 14:06
1 févr. 2020 à 14:06
Il ne manque pas une " ?
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
1 févr. 2020 à 17:54
1 févr. 2020 à 17:54
il m'affiche pas d'erreur du genre
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
1 févr. 2020 à 14:18
1 févr. 2020 à 14:18
Bonjour,
A l'avenir, merci d'utiliser les balises de code pour poster ton code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, il faut récupérer "proprement" les variables avant de les utiliser.
et enfin en mysqli .. on n'utilise plus le OR DIE ..
A la place on écrit sous cette forme.
Je t'invite également à lire ceci ::
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et ça : https://www.w3schools.com/php/func_mysqli_real_escape_string.asp
A l'avenir, merci d'utiliser les balises de code pour poster ton code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, il faut récupérer "proprement" les variables avant de les utiliser.
et enfin en mysqli .. on n'utilise plus le OR DIE ..
A la place on écrit sous cette forme.
//récupération de la variable via la forme ternaire (sorte de if/else) // il faut également protéger contre les caractères spéciaux qui pourraient se trouver dans la variable // pour ça : https://www.w3schools.com/php/func_mysqli_real_escape_string.asp $ill=!empty($_GET['ill']) ? $mysqli -> real_escape_string($_GET['ill']) : ""; echo $ill; $sql = "insert into malade(nom,code,maladie) values ('$nom','$code','$ill')"; if (!$mysqli -> query($sql)) { echo("Error : " . $mysqli -> error); }
Je t'invite également à lire ceci ::
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et ça : https://www.w3schools.com/php/func_mysqli_real_escape_string.asp
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
1 févr. 2020 à 14:19
1 févr. 2020 à 14:19
Si ça ne fonctionne toujours pas, fais nous un echo de la variable $sql et montre nous également la structure de ta table (noms et types de champs des colonnes de ta table )
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
>
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
1 févr. 2020 à 16:55
1 févr. 2020 à 16:55
$ill=''; if(isset($_GET['ill']){ $ill=$_GET['ill']; } echo $ill; $mysqli->query("insert into malade(nom,code,maladie) values ('$nom','$code','$ill'))or die($mysqli->error());
maladie reste toujours vide et echo $ill m'affiche angine
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
>
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
1 févr. 2020 à 16:56
1 févr. 2020 à 16:56
Heu.. oui... sauf que tu n'as pas appliqué ce que je t'ai indiqué.....
Donc commence par LIRE et APPLIQUER ce que je t'ai donné... et reviens nous voir seulement après avoir apporté ces corrections....
Donc commence par LIRE et APPLIQUER ce que je t'ai donné... et reviens nous voir seulement après avoir apporté ces corrections....
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
>
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
Modifié le 1 févr. 2020 à 16:57
Modifié le 1 févr. 2020 à 16:57
voici ce que j'ai
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
>
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
1 févr. 2020 à 16:57
1 févr. 2020 à 16:57
on ne voit rien....;
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
1 févr. 2020 à 17:57
1 févr. 2020 à 17:57
Tu sais lire ou tu as du mal ???
montre-nous ton code corrigé ainsi que la structure de ta table ce n'est pourtant pas compliqué à comprendre.
montre-nous ton code corrigé ainsi que la structure de ta table ce n'est pourtant pas compliqué à comprendre.
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
1 févr. 2020 à 18:04
1 févr. 2020 à 18:04
pas besoin de tout expliquer je croi la table est claire sur le insert tout est varchar et le code et sur pc pas lié à internet mais le problème et just dans ce que j'ai envoyé
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
1 févr. 2020 à 18:19
1 févr. 2020 à 18:19
si tu as pris le code que je t'ai donné et que ton écho et bon si tu ne veux pas faire l'effort de suivre les conseils qu'on te donne débrouille-toi on ne pourra rien pour toi
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
1 févr. 2020 à 18:25
1 févr. 2020 à 18:25
j'ai fait ton code à la lettre mais toujours le même problème
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
>
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
1 févr. 2020 à 18:44
1 févr. 2020 à 18:44
Montre ton code modifié et un show create de ta table...
Verifie également si ton fichier php est bien encode en utf8 sans bom
Et pour finir montre nous ce qu'affiche exactement ton echo
Verifie également si ton fichier php est bien encode en utf8 sans bom
Et pour finir montre nous ce qu'affiche exactement ton echo
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
Modifié le 2 févr. 2020 à 12:48
Modifié le 2 févr. 2020 à 12:48
$ill=!empty($_GET['ill']) ? $mysqli->real_escape_string($_GET['ill']):""; $mal=$ill; echo $mal; if(isset($_POST['save'])){ if (isset($_POST['nom'])){ $nom=$_POST['nom'];} if (isset($_POST['prenom'])){ $prenom=$_POST['prenom'];} if (isset($_POST['date_n'])){ $date_n=$_POST['date_n'];} $req="INSERT INTO autre (nom,prenom,date_n,ill) VALUES ('$nom', '$prenom','$date_n','$mal')"; echo $req;}
le premier echo affiche angine le second mal est vide
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
2 févr. 2020 à 12:50
2 févr. 2020 à 12:50
Bon...
Déjà.. merci d'utiliser les BALISES DE CODE pour poster ton code sur le forum.
Mais.. on avance...
Désormais on peut voir que tu envois les autres données en POST.
Je suppose donc, que le "premier" echo dont tu parles est celui qui apparait lorsque tu affiches ta page.... et que le "second" echo c'est celui qui apparait une fois que tu as submit le formulaire...
Il est donc à parier que tu n'envois pas la variable iil dans l'url du formulaire.....
On en revient donc à mes premières questions..... MONTRE NOUS LE CODE COMPLET DE TA PAGE !!!!
C'est pas possible d'être aussi têtu ! ....
Si on te demande ce genre d'informations c'est justement qu'on a un doute sur l'origine de ton problème.....
Et puis.. il serait bien que tu commences à appliquer les exemples qu'on te donne.
Typiquement, ton code actuel devrait ressembler à ça
ça ne résolvera pas ton souci qui n'est en aucun cas lié à ce code... mais à la façon dont tu enovois ton formulaire (et tes variables ).
Déjà.. merci d'utiliser les BALISES DE CODE pour poster ton code sur le forum.
Mais.. on avance...
Désormais on peut voir que tu envois les autres données en POST.
Je suppose donc, que le "premier" echo dont tu parles est celui qui apparait lorsque tu affiches ta page.... et que le "second" echo c'est celui qui apparait une fois que tu as submit le formulaire...
Il est donc à parier que tu n'envois pas la variable iil dans l'url du formulaire.....
On en revient donc à mes premières questions..... MONTRE NOUS LE CODE COMPLET DE TA PAGE !!!!
C'est pas possible d'être aussi têtu ! ....
Si on te demande ce genre d'informations c'est justement qu'on a un doute sur l'origine de ton problème.....
Et puis.. il serait bien que tu commences à appliquer les exemples qu'on te donne.
Typiquement, ton code actuel devrait ressembler à ça
$mal=!empty($_GET['ill']) ? $mysqli->real_escape_string($_GET['ill']):""; echo $mal; if(isset($_POST['save'])){ $nom=!empty($_POST['nom']) ? $mysqli->real_escape_string($_POST['nom']):""; $prenom=!empty($_POST['prenom']) ? $mysqli->real_escape_string($_POST['prenom']):""; $date_n=!empty($_POST['date_n']) ? $mysqli->real_escape_string($_POST['date_n']):""; $req="INSERT INTO autre (nom,prenom,date_n,ill) VALUES ('$nom','$prenom','$date_n','$mal')"; echo $req; }
ça ne résolvera pas ton souci qui n'est en aucun cas lié à ce code... mais à la façon dont tu enovois ton formulaire (et tes variables ).
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
>
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
2 févr. 2020 à 12:57
2 févr. 2020 à 12:57
le problème est dans la variable ill mon ami a part ça tout fonctionne
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
>
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
Modifié le 2 févr. 2020 à 13:54
Modifié le 2 févr. 2020 à 13:54
Tu es en train de me troller ou vraiment tu ne comprends pas ce qu' on te dit ???
j'ai bien vu où était ton problème mais toi as-tu lu les réponses que je t'ai donné et ce que je t'ai demandé de nous fournir ?
ne reviens pas nous voir tant que tu ne seras pas décidé à nous donner les éléments qu'on te demande.
j'ai bien vu où était ton problème mais toi as-tu lu les réponses que je t'ai donné et ce que je t'ai demandé de nous fournir ?
ne reviens pas nous voir tant que tu ne seras pas décidé à nous donner les éléments qu'on te demande.
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
2 févr. 2020 à 15:33
2 févr. 2020 à 15:33
le problème est dans la variable ill mon ami a part ça tout fonctionne insert passe bien mais avec ill vide
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
2 févr. 2020 à 16:07
2 févr. 2020 à 16:07
Tu ne sais pas lire... avoue....
ON LE SAIT que c'est ta variable ill qui te pose problème !!! ça fait 15 fois que tu nous le dis... on a compris !
Mais ton souci... ne vient pas du code que tu nous montres
Le souci vient de la façon dont tu transmets tes variables entre ton formulaire ( en POST ) et ta satanée variable que tu essaies de récupérer en GET ...
Donc, (c'est ta dernière chance avant que je ne ferme cette discussion une bonne fois pour toutes.... )
MONTRE NOUS LE CODE COMPLET et surtout.... ton FORMULAIRE !!!!
J'espère que j'ai été assez clair cette fois !
e problème est dans la variable ill mon ami
ON LE SAIT que c'est ta variable ill qui te pose problème !!! ça fait 15 fois que tu nous le dis... on a compris !
Mais ton souci... ne vient pas du code que tu nous montres
Le souci vient de la façon dont tu transmets tes variables entre ton formulaire ( en POST ) et ta satanée variable que tu essaies de récupérer en GET ...
Donc, (c'est ta dernière chance avant que je ne ferme cette discussion une bonne fois pour toutes.... )
MONTRE NOUS LE CODE COMPLET et surtout.... ton FORMULAIRE !!!!
J'espère que j'ai été assez clair cette fois !
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
Modifié le 3 févr. 2020 à 01:07
Modifié le 3 févr. 2020 à 01:07
premiere page:
2 eme page pro2.php:
<?php
require_once 'pro2.php';
?>
<div class="row justify-content-center">
<form action="pro2.php" method="POST" oninput="">
<input type="hidden" name="id" value="<?php echo $id; ?>">
<table > <td colspan=10 align="left" style="margine:10px;padding:5px" >
<div class="form_group">
<label>Numero dossier : </label>
<input type="text" name="num_dossier" value="<?php echo $num_dossier; ?>" class="form_control" placeholder=" ">
</div>
<div class="form_group">
<label>Nom : </label>
<input type="text" name="nom" class="form_control" value="<?php echo $nom; ?>" placeholder="" >
</div>
<div class="form_group">
<label>Prenom : </label>
<input type="text" name="prenom" class="form_control" value="<?php echo $prenom; ?>" placeholder="" >
</div>
<div class="form_group">
<label>Date naissance</label>
:
<input type="date" name="date_n" value="<?php echo $date_n; ?>" class="form_control" placeholder="">
</div>
2 eme page pro2.php:
$ill=!empty($_GET['ill']) ? $mysqli->real_escape_string($_GET['ill']):"";
$mal=$ill;
echo $mal;
if(isset($_POST['save'])){
if (isset($_POST['nom'])){
$nom=$_POST['nom'];}
if (isset($_POST['prenom'])){
$prenom=$_POST['prenom'];}
if (isset($_POST['date_n'])){
$date_n=$_POST['date_n'];}
$req="INSERT INTO autre (nom,prenom,date_n,ill) VALUES ('$nom',
'$prenom','$date_n','$mal')";
echo $req;}
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
Modifié le 3 févr. 2020 à 01:58
Modifié le 3 févr. 2020 à 01:58
et dans mon index j'ai un lien qui va vers patient.php?ill=angine qui est la première page
NHenry
Messages postés
15193
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 février 2025
353
>
jawadov11
Messages postés
39
Date d'inscription
lundi 27 mai 2019
Statut
Membre
Dernière intervention
6 juin 2020
3 févr. 2020 à 18:27
3 févr. 2020 à 18:27
Soit tu n'as pas tout mis, soit c'est clairement pas bon.
En essayant sur mon serveur,
il me crache une erreur sur "$mysqli->real_escape_string" (normal $mysqli n'est pas initialisé)
Si je retire cet appel, il manque le "</form>" de ton formulaire ainsi que le bouton de validation de celui-ci.
Il manque aussi le champ "save".
Après modification, le code semble fonctionner :
En essayant sur mon serveur,
il me crache une erreur sur "$mysqli->real_escape_string" (normal $mysqli n'est pas initialisé)
Si je retire cet appel, il manque le "</form>" de ton formulaire ainsi que le bouton de validation de celui-ci.
Il manque aussi le champ "save".
Après modification, le code semble fonctionner :
<?php $ill=!empty($_GET['ill']) ? $_GET['ill']:""; $mal=$ill; echo $mal; if(isset($_POST['save'])) { if (isset($_POST['nom'])) { $nom=$_POST['nom']; } if (isset($_POST['prenom'])) { $prenom=$_POST['prenom']; } if (isset($_POST['date_n'])) { $date_n=$_POST['date_n']; } $req="INSERT INTO autre (nom,prenom,date_n,ill) VALUES ('$nom', '$prenom','$date_n','$mal')"; echo $req; } ?> <div class="row justify-content-center"> <form action="#" method="POST" oninput=""> <input type="hidden" name="id" value="<?php echo $id; ?>"> <div class="form_group"> <label>Numero dossier : </label> <input type="text" name="num_dossier" value="<?php echo $num_dossier; ?>" class="form_control" placeholder=" "> </div> <div class="form_group"> <label>Nom : </label> <input type="text" name="nom" class="form_control" value="<?php echo $nom; ?>" placeholder="" > </div> <div class="form_group"> <label>Prenom : </label> <input type="text" name="prenom" class="form_control" value="<?php echo $prenom; ?>" placeholder="" > </div> <div class="form_group"> <label>Date naissance</label> : <input type="date" name="date_n" value="<?php echo $date_n; ?>" class="form_control" placeholder=""> </div> <input type="hidden" name="save" value="123" /> <input type="submit" /> </form>
jordane45
Messages postés
38430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 février 2025
4 735
>
NHenry
Messages postés
15193
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 février 2025
3 févr. 2020 à 19:10
3 févr. 2020 à 19:10
Il manquera quand même l'insertion au final...
Donc il faut laisser le real escape et inclure la connexion à la bdd.
Donc il faut laisser le real escape et inclure la connexion à la bdd.
3 févr. 2020 à 16:59