Pgm
lamisse34
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
Atropa Messages postés 1940 Date d'inscription Statut Membre Dernière intervention -
Atropa Messages postés 1940 Date d'inscription Statut Membre Dernière intervention -
salut tout le monde,
voici mon script php qui permet à un patient de prendre rendez-vous par internet, mais je veux ajouter un message d'erreur en cas il prends le rendez-vous à la meme heure qu'un autre; comme l'heure est ma clé primaire il affiche toujours duplication de la clé, mais un patient ne va jamais comprendre ce message si on heberge le site, pouvez vous m'indiquer comment résoudre ce pbm.
<?php
include ('connexion.php');
if(isset($_POST['Submit2']))
{
$Heur=$_POST['Heur'];
$Date=$_POST['Date'];
$Nom=$_POST['Nom'];
$Prenom=$_POST['Prenom'];
$tel=$_POST['tel'];
mysql_query("insert into rendez_vous(Heur_RDV,Dat_RDV,Nom_pat,Pren_pat, Ntel_pat)
values('$Heur','$Date','$Nom','$Prenom','$tel')")or die(mysql_error());
?>
<script type="text/javascript">
alert(" le rendez-vous est enregisté avec succés");
</script>
<?php
}
?>
MERCI.
voici mon script php qui permet à un patient de prendre rendez-vous par internet, mais je veux ajouter un message d'erreur en cas il prends le rendez-vous à la meme heure qu'un autre; comme l'heure est ma clé primaire il affiche toujours duplication de la clé, mais un patient ne va jamais comprendre ce message si on heberge le site, pouvez vous m'indiquer comment résoudre ce pbm.
<?php
include ('connexion.php');
if(isset($_POST['Submit2']))
{
$Heur=$_POST['Heur'];
$Date=$_POST['Date'];
$Nom=$_POST['Nom'];
$Prenom=$_POST['Prenom'];
$tel=$_POST['tel'];
mysql_query("insert into rendez_vous(Heur_RDV,Dat_RDV,Nom_pat,Pren_pat, Ntel_pat)
values('$Heur','$Date','$Nom','$Prenom','$tel')")or die(mysql_error());
?>
<script type="text/javascript">
alert(" le rendez-vous est enregisté avec succés");
</script>
<?php
}
?>
MERCI.
1 réponse
Bonsoir,
c'est une très mauvaise idée de mettre l'heure en clé primaire et encore plus mauvaise de la séparer de la date.
Ce n'est pas bien non plus d'utiliser les fonctions obsolètes tels que celles commençant par mysql_
https://www.php.net/manual/fr/function.mysql-connect.php
C'est très important d'apprendre à utiliser pdo, rien que pour la sécurité. avec ton script, on peut faire a peut près tout ce que l'on veut dans ta base de données. voir les injection sql...
https://www.php.net/pdo
pdo permet les requêtes préparés ce qui permet de rendre impossible les injections sql si les requêtes sont bien faites.
les alert en javascript sont à proscrire à la limite ca peut être utilise pour débugger un code mais pas plus et même dans ce cas console.log() est bien plus utile car il ne bloque pas le code.
https://www.alsacreations.com/astuce/lire/1436-console-javascript.html
Sinon pour ton problème il faut que tu n'autorises que les périodes non réservé dans ton formulaire. et que tu vérifie qu'elles le sont bien à sa réception avant de les insérer dans ta base de donnée. Et surtout en utilisant pdo.
écrire
$heure = $_POST['heure'];
ne sert strictement à rien d'autre que de consommer de la mémoire vive et du processeur en dupliquant inutilement une variable.
c'est une très mauvaise idée de mettre l'heure en clé primaire et encore plus mauvaise de la séparer de la date.
Ce n'est pas bien non plus d'utiliser les fonctions obsolètes tels que celles commençant par mysql_
https://www.php.net/manual/fr/function.mysql-connect.php
C'est très important d'apprendre à utiliser pdo, rien que pour la sécurité. avec ton script, on peut faire a peut près tout ce que l'on veut dans ta base de données. voir les injection sql...
https://www.php.net/pdo
pdo permet les requêtes préparés ce qui permet de rendre impossible les injections sql si les requêtes sont bien faites.
les alert en javascript sont à proscrire à la limite ca peut être utilise pour débugger un code mais pas plus et même dans ce cas console.log() est bien plus utile car il ne bloque pas le code.
https://www.alsacreations.com/astuce/lire/1436-console-javascript.html
Sinon pour ton problème il faut que tu n'autorises que les périodes non réservé dans ton formulaire. et que tu vérifie qu'elles le sont bien à sa réception avant de les insérer dans ta base de donnée. Et surtout en utilisant pdo.
écrire
$heure = $_POST['heure'];
ne sert strictement à rien d'autre que de consommer de la mémoire vive et du processeur en dupliquant inutilement une variable.
id,date,idPatient
et si il y a plusieurs médecins tu peux ajouter un champ idMedecin
mais rien de plus.
pour récupérer les rdv d'une journée par exemple tu peux faire :
et si il y a plusieurs médecin ajouter la table médecin