Disfonctionnement - Je ne trouve pas l'erreur
Posté : 23 juin 2011, 16:04
Bonjour à tous !
Je me présente, Olivier, pas du tout familier avec le ph, mais bien obligé de s'y mettre pour le site de ma copine !
Enfin bref, ça ne vous intéresse probablement pas.
Donc, je suis en train de mettre en place une base de données pour pouvoir gérer des inscriptions/désinscription à des cours.
Donc j'ai deux parties : gestion des cours, et gestion des élèves.
J'ai commencé par la gestion des cours, vu que les élèves se traiteront de la même façon.
j'ai réussi tant bien que mal à mettre en place la création des cours, et ça fonctionne. Il ss'ajoutent à la base avec:
-un id auto-increment unique : numtype
-un id qui correpond au type de cours (cours, stage, ...) : idcours
-un niveau : niveau
-un libellé : libelle
-une description : description
Encore une fois, la création et l'insertion dans la base fonctionne.
Mais lorsque sur une autre page, je tente de modifier ou de supprimer les cours en place, ca ne fonctionne pas, et je ne comprends pas pourquoi. C'est là que j'ai besoin de vous !
Lorsque je supprime, quelque soit le cours que j'ai sélectionné, ça supprime forcément la dernière ligne de la base.
Lorsque je modifie un cours, ça ne fonctionne tout bonnement pas !
Dernière chose à dire avant le code : le but est d'avoir un menu déroulant contenant tous les cours, et lors de la sélection de l'un d'eux, les champs du formulaire en dessous se remplissent automatiquement avec les données connues sur ce cours, pour pouvoir les modifier.
Voici donc le code !
Merci beaucoup par avance, et j'espère à bientôt !
Je me présente, Olivier, pas du tout familier avec le ph, mais bien obligé de s'y mettre pour le site de ma copine !
Enfin bref, ça ne vous intéresse probablement pas.
Donc, je suis en train de mettre en place une base de données pour pouvoir gérer des inscriptions/désinscription à des cours.
Donc j'ai deux parties : gestion des cours, et gestion des élèves.
J'ai commencé par la gestion des cours, vu que les élèves se traiteront de la même façon.
j'ai réussi tant bien que mal à mettre en place la création des cours, et ça fonctionne. Il ss'ajoutent à la base avec:
-un id auto-increment unique : numtype
-un id qui correpond au type de cours (cours, stage, ...) : idcours
-un niveau : niveau
-un libellé : libelle
-une description : description
Encore une fois, la création et l'insertion dans la base fonctionne.
Mais lorsque sur une autre page, je tente de modifier ou de supprimer les cours en place, ca ne fonctionne pas, et je ne comprends pas pourquoi. C'est là que j'ai besoin de vous !
Lorsque je supprime, quelque soit le cours que j'ai sélectionné, ça supprime forcément la dernière ligne de la base.
Lorsque je modifie un cours, ça ne fonctionne tout bonnement pas !
Dernière chose à dire avant le code : le but est d'avoir un menu déroulant contenant tous les cours, et lors de la sélection de l'un d'eux, les champs du formulaire en dessous se remplissent automatiquement avec les données connues sur ce cours, pour pouvoir les modifier.
Voici donc le code !
Merci beaucoup par avance, et j'espère à bientôt !
Code : Tout sélectionner
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<SCRIPT LANGUAGE="JavaScript">
function selectionType(id)
{
document.location.href="http://www.monsite.fr/backOffice/modif_typecours.php?message=accesbdd&temp_id="+id
}
</SCRIPT>
<style type="text/css" media="screen">
@import url("http://www.monsite.fr/css/style.css");
</style>
</head>
<body>
<div id="page">
<div id="header_mariage">
</div>
<div id="conteneur_gauche_cours">
<div id="conteneur_gauche_texte">
<?PHP include('http://www.monsite.fr/menu.php'); ?>
</div>
</div>
<div id="conteneur_droite">
<h1>Modifier/Supprimer un type de cours</h1>
<br/>
<?php
// Partie de traitement du formulaire...
// Si la requete s'est bien effectue et donc qu'une modification a ete effectue
if ($_GET['message']=="ok")
{
// On affiche un message de confirmation
?>
<p>La modification a bien été effectuée sur la base de données.</p>
<?php
}
// Si erreur dans la requete
else if($_GET['message']=="errbdd")
{
// On affiche un message d'erreur
?>
<p>Erreur de connexion à la Base de données...</p>
<p align="center"><a href="http://www.monsite.fr/backOffice/modif_typecours.php">Retour</a></p>
<?php
}
else
if($_GET['message']=="accesbdd" && $_GET['temp_id'] != "99999" )
{
// On affiche les différents champs
// Connexion avec la BDD
$mysql_link = include ('dbconnect.php');
// Si connexion effectuée
if($mysql_link)
{
// Requete et execution de la requete
$stock_temp=$_GET['temp_id'];
$requete = "SELECT * FROM typecours WHERE numtype='$stock_temp'";
$retour_select=mysql_query($requete);
mysql_query("SET NAMES 'utf8'") ;
while($this_last=mysql_fetch_array($retour_select)) // ne tournera qu'une fois !
{
$liste_type = $this_last['numtype'];
$liste_id = $this_last['idcours'];
$liste_niveau = $this_last['niveau'];
$liste_libelle = $this_last['libelle'];
$liste_description = $this_last['description'];
}
}
}
//Check des boutons appuyés ? Supprimer ou Modifier ?
else
{
if (isset($_POST['supprimer']))
{
$id_to_delete = htmlentities($_POST['numtype'],ENT_NOQUOTES,'UTF-8');
$mysql_link = include ('dbconnect.php');
if($mysql_link)
{
$requete = "DELETE FROM typecours WHERE numtype='$id_to_delete'";
$execution = mysql_db_query($db_select, $requete);
mysql_db_query("SET NAMES 'utf8'") ;
?>
<SCRIPT LANGUAGE="JavaScript">
document.location.href="http://www.monsite.fr/backOffice/modif_typecours.php?message=ok"
</SCRIPT>
<?php
}
else
{
?>
<SCRIPT LANGUAGE="JavaScript">
document.location.href="http://www.monsite.fr/backOffice/modif_typecours.php?message=errbdd"
</SCRIPT>
<?php
}
}
// Si le bouton Enregistrer les modifications a été appuyé
if (isset($_POST['modifier']))
{
// Récuperation des variables postés
$liste_type = htmlentities($_POST['numtype'],ENT_NOQUOTES,'UTF-8');
$liste_id = htmlentities($_POST['idcours'],ENT_NOQUOTES,'UTF-8');
$liste_niveau = htmlentities($_POST['niveau'],ENT_NOQUOTES,'UTF-8');
$liste_libelle = htmlentities($_POST['libelle'],ENT_NOQUOTES,'UTF-8');
$liste_description = htmlentities($_POST['description'],ENT_NOQUOTES,'UTF-8');
// Si tous les champs ont étés remplis
if ( $_POST['idcours']!="" && $_POST['niveau']!="" && $_POST['libelle']!="" && $_POST['description']!="" )
{
// Connexion avec la BDD
$mysql_link = include ('dbconnect.php');
// Si connexion effectuée
if($mysql_link)
{
$requete = "UPDATE typecours SET idcours='$liste_id',
niveau='$liste_niveau',
libelle='$liste_libelle',
description='$liste_description'
WHERE numtype='$liste_type'";
$execution = mysql_db_query($db_select, $requete);
mysql_db_query("SET NAMES 'utf8'") ;
// Suivi d'une redirection JS
?>
<SCRIPT LANGUAGE="JavaScript">
document.location.href="http://www.monsite.fr/backOffice/modif_typecours.php?message=ok"
</SCRIPT>
<?php
}
// Si erreur de connexion à la bdd
else
{
?>
<SCRIPT LANGUAGE="JavaScript">
document.location.href="http://www.monsite.fr/backOffice/modif_typecours.php?message=errbdd"
</SCRIPT>
<?php
}
?>
<?php
}
// Si un des champs est vide on affiche un message d'erreur
else
{
?>
<h2>Erreur</h2>
<div class="hr"></div>
<p>Tous les champs sont obligatoires !</p>
<?php
}
}
}
//Si on arrive sur la page sans avoir appuyé sur Modifier, il faut remplir les champs une premiere fois
if ($_GET['message']!="ok" && $_GET['message']!="errbdd")
{
?>
<select name="liste" onChange="selectionType(this.value)">
<option value="99999">Type de cours à modifier ?</option>
<?php
// Connexion avec la BDD
$mysql_link = include ('dbconnect.php');
// Si connexion effectuée
if($mysql_link)
{
// Requete et execution de la requete
$requete = "SELECT * FROM typecours ORDER BY numtype"; //AJOUT DU ORDER BY
$retour_recherche=mysql_query($requete);
while($this_last=mysql_fetch_array($retour_recherche))
{
$liste_type = $this_last['numtype'];
$liste_id = $this_last['idcours'];
$liste_niveau = $this_last['niveau'];
$liste_libelle = $this_last['libelle'];
$liste_description = $this_last['description'];
?>
<option value="<?php echo "$liste_id";?>" <?php if($_GET['temp_id']==$liste_type){echo "selected";} ?>><?php echo "$liste_id ($liste_libelle)";?></option>
<?php
}
}
// Si erreur de connexion à la bdd
else
{
?>
<SCRIPT LANGUAGE="JavaScript">
document.location.href="http://www.monsite.fr/backOffice/modif_typecours.php?message=errbdd"
</SCRIPT>
<?php
}
?>
</select>
<?php
}
//PARTIE HTML PURE
?>
<br/>
<form action="modif_typecours.php" method="POST">
<div class="hr"></div>
<table>
<tr>
<td width="200px">ID de cours :</td>
<td><SELECT name="idcours">
<OPTION VALUE="<?php echo "$liste_id";?>"><?php echo "$liste_id";?></OPTION>
<OPTION VALUE="cours">Cours</OPTION>
<OPTION VALUE="stagj">Stage Journée</OPTION>
<OPTION VALUE="stagw">Stage Week-End</OPTION>
</SELECT>
</td>
</tr>
<tr>
<td width="200px">Niveau du cours :</td>
<td><input name="niveau" type="text" class="champs" size="1" value="<?php echo "$liste_niveau";?>" /></td>
</tr>
<tr>
<td width="200px">Libelle du cours :</td>
<td><textarea name="libelle" type="text" cols="38" rows="" class="champs" value="<?php echo "$liste_libelle";?>"></textarea></td>
</tr>
<tr>
<td width="200px">Description du cours :</td>
<td><textarea name="description" type="text" cols="38" rows="" class="champs" value="<?php echo "$liste_description";?>"></textarea><br/><input name="numtype" type="text" value="<? echo "$liste_type";?>" class="champs" /></td>
</tr>
</table>
<center>
<input type="submit" name="supprimer" id="submit" value="Supprimer (DEFINITIF !)" class="bouton" />
<input type="submit" name="modifier" id="submit" value="Enregistrer les modifications" class="bouton" />
</center>
</form>
<br/><a href="http://www.monsite.fr/backOffice/index.php">Retour à l'index du backOffice</a>
</div>
</div>
<?PHP include('http://www.monsite.fr/menu_bas.php'); ?>
</body>
</html>