PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : HTML, xHTML CSS » problème de redirection de formulaire avec un UPDATE mysql » 01-02-2014 13:38:49

D'accord pas de problème je pense avoir saisie la subtilité !^:)
Je vais repenser mon formulaire de a à z, cela va bien me prendre une bonne partie du week-end, mais au moins j'apprends tongue
Merci beaucoup Grand Maitre !

#2 Re : HTML, xHTML CSS » problème de redirection de formulaire avec un UPDATE mysql » 01-02-2014 13:38:49

a voir comment s'affiche mon code je me dis qu'il y a forcément une erreur, mais ou ? ...

#3 Re : HTML, xHTML CSS » problème de redirection de formulaire avec un UPDATE mysql » 01-02-2014 13:38:49

Comme je l'ai expliqué au début de mon post :
à la ligne 48 :

<td><form id="form_restit" name="form_restit" method="post" action="restitution.php"></td>

je remplace action="restitution.php" (c'est le nom de la page qui est dans mon post) par :

<td><form id="form_restit" name="form_restit" method="post" action="../eleve.php?id=<?php echo $id; ?>"></td>

Cela m'affiche bien la page demandée avec les bonnes variables qui s'affichent, sauf que le UPDATE dans la requête SQL en bas de page à la ligne 222 ne fonctionne plus.
Alors que celui-ci fonctionne parfaitement si je laisse restitution.php à la ligne 48.
En espérant avoir été clair ^^

Pour être franc là j'en ai perdu mon bios !

#4 Re : HTML, xHTML CSS » problème de redirection de formulaire avec un UPDATE mysql » 01-02-2014 13:38:49

Tout d'abord merci pour la réponse rapide !
Je comprend un peu mieux le principe du formulaire,mais mes variables sont toutes correctes (mes pags d'INSERT et de visualisation de bas de données fonctionnent très bien),il n'y a que la redirection vers la page élève qui m'affiche une page vide.
Peut être que je dois mettre un code particulier sur la destination ? En sachant que cette page "élève" est utilisé à d'autres endroits.
Pour avoir fait de nombreux tests de structurations, je n'ai pas réussi à créer un meilleur code; je ne vois donc pas comment améliorer tout ça.
Si éventuellement vous aviez un bout code bien explicatif ça pourrait éventuellement m'aider, merci d'avance !

#5 HTML, xHTML CSS » problème de redirection de formulaire avec un UPDATE mysql » 01-02-2014 13:38:49

cyberdoc
Réponses : 8

Bonjour à tous, je vous explique mon soucis :
Je dois mettre en place un site web pour la gestion des manuels scolaires dans un collège.
Je suis plutôt débutant en php, soyez indulgent^^

jusqu'a présent j'ai réussi à mettre en place tout ce dont j'avais besoin, mais là je me retrouve face à gros soucis depuis 2 jours.
Peut-être la solution se cache sur la toile, mais malgré tout mes efforts pour me dépanner, je n'ai rien trouvé de concluant.

je bloque sur la page de restitution des livres.

si je laisse mon formulaire avec son option "action" réglé sur lui-même, l'INSERT sql qui lui est associé fonctionne trés bien; mais me renvoie sur la même page qui du coup est vide.
Il faut que ce formulaire me renvoie sur la page contenant la fiche de l'élève afin de vérifier que les paramètres soient bien à jour.

Quand je code ma page dans ce sens, la redirection est correcte, mais du coup l'UPDATE ne fonctionne plus.
(en remplacant action="restitution.php" par action="../eleve.php?id=<?php echo $id; ?>" à la ligne 48.

En espérant que ma question à bien été comprise, j'en appelle donc à votre sagesse et à vos connaissances afin de m'aider à enlever cette épine.

Je m'excuse par avance de la qualité médiocre de mon code que voici :



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>GRATIA-Restitution des Manuels</title>
<link href="../style.css" rel="stylesheet" type="text/css" />

<style type="text/css">

body,td,th {
  font-family: Verdana, Geneva, sans-serif;
  font-size: 12px;
  color: #FFF;
}
body {
  background-color: #000
}
  </style>
</head>

<body>

<?php include ("../connexion.php");

$id = isset($_GET['id']) ? mysql_real_escape_string($_GET['id']) : '';
$sql= 'SELECT * FROM eleves WHERE ID ="'.$id.'"';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);

// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);
mysql_close ();
?>

<table class="tablo" width="100%" border="0" cellspacing="8" cellpadding="0" align="center">
<tr><td height="40" align="center" valign="middle"><center><strong>Restitution des manuels scolaires</strong></center></td></tr>
</table>

<tr><td> </td></tr>

<table class="tablo" width="100%" border="0" cellspacing="8" cellpadding="0" align="center">
<tr>
  <td><form id="form_restit" name="form_restit" method="post" action="restitution.php"></td></tr>
  <tr>
    <td align="right" valign="top" width="50%"><font color="#00CC99">Classe :</td>
  <td align="left"  width="50%"><?php echo $data['classe']; ?></td>
  </tr>
      <tr>
    <td align="right" valign="top"><font color="#00CC99">Nom de l'élève :</td>
    <td align="left"><?php echo $data['nom_eleve']; ?></td>
  </tr>
    <tr>
  <td align="right" valign="top"><font color="#00CC99">Prénom de l'élève :</td>
    <td align="left"><?php echo $data['prenom_eleve']; ?></td>
  </tr>
</table>

<table class="tablo" width="100%" border="0" cellspacing="8" cellpadding="0" align="center">  
  <tr>
      <td COLSPAN=3 align="right" valign="top"><font color="#00CC99"><strong>Liste des manuels scolaires</strong></td>
      <td COLSPAN=3 align="left" valign="top">"rendu" signifie que le manuel à bien été rendu</td>
    </tr>
 
  <tr>
    <td COLSPAN=3 align="right" valign="top"><font color="#00CC99">ID de l'élève (non modifiable)</td>
    <td COLSPAN=3 align="left" valign="top">
      <select name="id" size="1" id="id">
        <option selected="selected"><?php echo $data['ID']; ?></option>
        </select>
    </td>
  </tr>
  <tr><td> </td></tr>  
  <tr>
    <td align="right" valign="top" width="15%"><font color="#00CC99">Français</td>
    <td align="left" width="15%">
      <select name="franc" size="1" id="franc">
        <option selected="selected"><?php echo $data['francais']; ?></option>
    <option>rendu</option>
      </select>
    </td>
  <td align="right" valign="top" width="15%"><font color="#00CC99">Mathématiques</td>
    <td align="left" width="15%">
      <select name="maths" size="1" id="maths">
        <option selected="selected"><?php echo $data['mathematiques']; ?></option>
    <option>rendu</option>
      </select>
    </td>
    <td align="right" valign="top" width="15%"><font color="#00CC99">Histoire - Géographie</td>
    <td align="left" width="15%">
      <select name="hist_geo" size="1" id="hist_geo">
        <option selected="selected"><?php echo $data['histoire_geographie']; ?></option>
        <option>rendu</option>
      </select>
    </td>
  </tr>
  <tr>
    <td align="right" valign="top"><font color="#00CC99">Physique - Chimie</td>
    <td align="left">
      <select name="phy_chi" size="1" id="phy_chi">
        <option selected="selected"><?php echo $data['physique_chimie']; ?></option>
        <option>rendu</option>
      </select>
    </td>
    <td align="right" valign="top"><font color="#00CC99">SVT</td>
    <td align="left">
      <select name="svt" size="1" id="svt">
        <option selected="selected"><?php echo $data['SVT']; ?></option>
        <option>rendu</option>
      </select>
    </td>
    <td align="right" valign="top"><font color="#00CC99">Anglais LV1</td>
    <td align="left">
      <select name="anglaislv1" size="1" id="anglaislv1">
        <option selected="selected"><?php echo $data['anglais_LV1']; ?></option>
    <option>rendu</option>
      </select>
    </td>
    </tr>
  <tr>
    <td align="right" valign="top"><font color="#00CC99">Anglais LV2</td>
    <td align="left">
      <select name="anglaislv2" size="1" id="anglaislv2">
        <option selected="selected"><?php echo $data['anglais_LV2']; ?></option>
    <option>rendu</option>
      </select>
    </td>
    <td align="right" valign="top"><font color="#00CC99">Espagnol LV1</td>
    <td align="left">
      <select name="espagnollv1" size="1" id="espagnollv1">
        <option selected="selected"><?php echo $data['espagnol_LV1']; ?></option>
    <option>rendu</option>
      </select>
    </td>
    <td align="right" valign="top"><font color="#00CC99">Espagnol LV2</td>
    <td align="left">
      <select name="espagnollv2" size="1" id="espagnollv2">
        <option selected="selected"><?php echo $data['espagnol_LV2']; ?></option>
    <option>rendu</option>
      </select>
    </td>
    </tr>
  <tr>
    <td align="right" valign="top"><font color="#00CC99">Allemand LV1</td>
    <td align="left">
      <select name="allemandlv1" size="1" id="allemandlv1">
        <option selected="selected"><?php echo $data['allemand_LV1']; ?></option>
    <option>rendu</option>
      </select>
    </td>
    <td align="right" valign="top"><font color="#00CC99">Allemand LV2</td>
    <td align="left">
      <select name="allemandlv2" size="1" id="allemandlv2">
        <option selected="selected"><?php echo $data['allemand_LV2']; ?></option>
    <option>rendu</option>
      </select>
    </td>
    <td align="right" valign="top"><font color="#00CC99">Demain Citoyens</td>
    <td align="left">
      <select name="demaincitoyens" size="1" id="demaincitoyens">
        <option selected="selected"><?php echo $data['demain_citoyens']; ?></option>
        <option>rendu</option>
      </select>
    </td>
    </tr>
  <tr>
    <td align="right" valign="top"><font color="#00CC99">Latin</td>
    <td align="left">
      <select name="latin" size="1" id="latin">
        <option selected="selected"><?php echo $data['latin']; ?></option>
    <option>rendu</option>
      </select>
    </td>
    <td align="right" valign="top"><font color="#00CC99">CD Langue</td>
    <td align="left">
      <select name="cdlangue" size="1" id="cdlangue">
        <option selected="selected"><?php echo $data['cd_langue']; ?></option>
        <option>rendu</option>
      </select>
    </td>
  </tr>
  <tr><td> </td></tr>
 </table>

<table class="tablo" width="100%" border="0" cellspacing="8" cellpadding="0" align="center">  
  <tr>
    <td align="center" valign="center"><input type="submit" name="valider" id="valider" value="Mettre à jour les données de <?php echo $data['nom_eleve']; ?> <?php echo $data['prenom_eleve']; ?>" /></td>

<?php
        if(isset($_POST['valider'])){
      $id=$_POST['id'];
      $franc=$_POST['franc'];
      $maths=$_POST['maths'];
      $hist_geo=$_POST['hist_geo'];
      $phy_chi=$_POST['phy_chi'];
      $svt=$_POST['svt'];
      $anglaislv1=$_POST['anglaislv1'];
      $anglaislv2=$_POST['anglaislv2'];
      $espagnollv1=$_POST['espagnollv1'];
      $espagnollv2=$_POST['espagnollv2'];
      $allemandlv1=$_POST['allemandlv1'];
      $allemandlv2=$_POST['allemandlv2'];
      $demaincitoyens=$_POST['demaincitoyens'];
      $latin=$_POST['latin'];
      $cdlangue=$_POST['cdlangue'];
     
    if(empty($franc) OR empty($maths) )
  {
     echo '<font color="red">Attention, des renseignements sont manquants !</font>'; }
   else
   {

    // connexion à la base
$db = mysql_connect('localhost', 'root', 'debian')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  

    mysql_select_db('college',$db)  or die('Erreur de selection '.mysql_error());
         $sql = " UPDATE eleves SET francais='$franc', mathematiques='$maths', histoire_geographie='$hist_geo', physique_chimie='$phy_chi', SVT='$svt', anglais_LV1='$anglaislv1', anglais_LV2='$anglaislv2',
       espagnol_LV1='$espagnollv1', espagnol_LV2='$espagnollv2', allemand_LV1='$allemandlv1', allemand_LV2='$allemandlv2', demain_citoyens='$demaincitoyens', latin='$latin', cd_langue='$cdlangue' WHERE ID='$id'"
;
     
            mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                           
            // on ferme la connexion
            mysql_close();}}
     
?>
  </tr>
  </table>   </form>
</body>
</html>
 

Pied de page des forums

Propulsé par FluxBB