A voir également:
- Insert vide
- Touche insert - Guide
- Supprimer page word vide - Guide
- Caractere vide - Guide
- Coeur vide ✓ - Forum Réseaux sociaux
- Code pour écrire un coeur VIDE : alt+??? ✓ - Forum Mail
8 réponses
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">
jawadov11
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
merci pour ton aide cher ami je suis débutant
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
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
$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. |
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 ).
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.
le problème est dans la variable ill mon ami a part ça tout fonctionne insert passe bien mais avec ill vide
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 !
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;}
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>