Aider moi la requette sql ne fonctionne pas

Résolu/Fermé
rashaslm Messages postés 16 Date d'inscription vendredi 22 décembre 2017 Statut Membre Dernière intervention 24 décembre 2017 - 22 déc. 2017 à 09:45
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 - 22 déc. 2017 à 12:08
bonjour mes amis, bon je viens de faire mon premier projet en PHP, "gestion des absences" dans un département bien précis, donc le prof pour ajouter une absence il choisi son type(tp,td), le module, le groupe, et la date après il fait un ajout mais dans la base de donnée et ne fait pas ce ajout malgré il ne rien affiche ni erreur ni warning voila mon code :
page login:
<?php 
session_start() ?>
<!DOCTYPE html>
<html>
<head>
	<title>Univ_Login</title>
	<link rel="stylesheet" type="text/css" href="login.css">
</head>
<body>

	<fieldset>

		<form action="redirection.php" method="post">
		
			<input type="text" name="user" id="user" placeholder="user" required autofocus autocomplete>
            <br><br>    
			<input type="password" name="passeword" id="passeword" placeholder="passeword" required >
			<br><br>
            <input type="radio" id="v1" name="type" value="admin">
            <label for="v1">admin</label>
            <input type="radio" id="v2" name="type" value="etudiant" checked>
            <label for="v2">etudiant</label>
            <input type="radio" id="v3" name="type" value="enseignent">
            <label for="v3">enseignent</label>
            <br><br>
            <input type="submit" name="sub" value="connecter">
              
		</form>
		
	</fieldset>

</body>
</html>

page ajouter seance:
 
<?php 
session_start() ?>
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>

<h1>ajouter un Seance</h1>

<form action="ajouterAbsence.php" method="post">

<strong>type de la seance :   </strong>

            <input type="radio" id="v1" name="typeS" value="tp">
            <label for="v1">TP</label>

            <input type="radio" id="v2" name="typeS" value="td" checked>
            <label for="v2">TD</label>
<br>

<strong>Module :   </strong>
<input  list="module" name="module" required>

<datalist id="module">
  <option value="asd">
  <option value="poo">
  <option value="si">
  <option value="algo">
</datalist>
<br>

<strong>Groupe :   </strong>
<input  list="groupe" name="groupe" required>

<datalist id="groupe">
  <option value="1">
  <option value="2">
  <option value="3">
  <option value="4">
</datalist>
<br>
<input type = "date" name ="date" required >
<br>
<input type="submit" value="crée seance">

</form>
</body>
</html>

code ajouter absence:
<?php 
session_start();
$_SESSION['module']=$_POST['module'];
$_SESSION['groupe']=$_POST['groupe']; 
$_SESSION['type']=$_POST['typeS']; 
$_SESSION['date']=$_POST['date'];

try {

	$_bdd= new PDO('mysql:host=localhost;dbname=univ2;charset=utf8','root','');
	$_bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
    $_bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ);

} catch (Exception $e) {
	
	echo "erreur de connexion a la base de donnée";
}

$rech=$_bdd->prepare('select * from module where nom_module = ?');
$rech->execute(array($_SESSION['module']));
$_aff=$rech->fetch();


$req = $_bdd->prepare('INSERT INTO seance (jour,type,id_module,groupe,id_enseignent)  VALUES ('9',:jour,:type,:id_module,:groupe,:id_enseignent)');
$req->execute(array(
'jour'=>$_SESSION['date']),
'type'=> $_SESSION['type'],
'id_module'=>$_aff['id_module'],
'groupe'=>$_SESSION['groupe'],
'id_enseignent'=>$_SESSION['user']));

echo $_SESSION['type'].$_aff['id_module'].$_SESSION['groupe'].$_SESSION['user'].$_SESSION['date'];

?>

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<form action="ajoutBD.php" method="post">
	

</form>
</body>
</html>

3 réponses

nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 251
22 déc. 2017 à 10:34
salut,

rapidement je dirai que le problème vient de ton insert: il faut échapper les < ' > :

 
$req = $_bdd->prepare('INSERT INTO seance (jour,type,id_module,groupe,id_enseignent)  VALUES ('9',:jour,:type,:id_module,:groupe,:id_enseignent)');

devient :

 
$req = $_bdd->prepare('INSERT INTO seance (jour,type,id_module,groupe,id_enseignent)  VALUES (\'9\',:jour,:type,:id_module,:groupe,:id_enseignent)');


naga
1
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 251
22 déc. 2017 à 10:35
par contre c'est étrange qu'il n y ai pas de message
0
rashaslm Messages postés 16 Date d'inscription vendredi 22 décembre 2017 Statut Membre Dernière intervention 24 décembre 2017
22 déc. 2017 à 10:48
t_double arraow ca veut dire quoi!!!
0
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 251
Modifié le 22 déc. 2017 à 10:54
juste pour délimiter la quote .... pour que ca soit lisible
0
yg_be Messages postés 23234 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 1 538 > rashaslm Messages postés 16 Date d'inscription vendredi 22 décembre 2017 Statut Membre Dernière intervention 24 décembre 2017
Modifié le 22 déc. 2017 à 11:00
peux-tu partager le message complet?
il ne faut probablement pas fermer la parenthèse en ligne 27 du code ajouter absence.
"t_double_arrow", cela veut dire "=>"
0
rashaslm Messages postés 16 Date d'inscription vendredi 22 décembre 2017 Statut Membre Dernière intervention 24 décembre 2017
22 déc. 2017 à 10:59
j vais pargater le message
voila :
Parse error: syntax error, unexpected T_DOUBLE_ARROW in C:\wamp\www\univ_abs\profile\prof_ens\ajouterAbsence.php on line 31
et la ligne 31 c est la suivante :
'type'=> $_SESSION['type'],
0
yg_be Messages postés 23234 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 Ambassadeur 1 538
22 déc. 2017 à 10:41
bonjour, je suggère de lire et d'appliquer ceci: PDO - Gérer les erreurs
1
yg_be Messages postés 23234 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 Ambassadeur 1 538
22 déc. 2017 à 11:56
et ainsi?
$req = $_bdd->prepare('INSERT INTO seance (jour, type_seance, id_module,groupe,id_enseignent)  VALUES (:jour,:type,:id_module,:groupe,:id_enseignent)');
0
rashaslm Messages postés 16 Date d'inscription vendredi 22 décembre 2017 Statut Membre Dernière intervention 24 décembre 2017
22 déc. 2017 à 12:00
meme probleme
0
yg_be Messages postés 23234 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 1 538 > rashaslm Messages postés 16 Date d'inscription vendredi 22 décembre 2017 Statut Membre Dernière intervention 24 décembre 2017
22 déc. 2017 à 12:02
merci de partager le message d'erreur.
0