par
serval92 » 13 oct. 2010, 12:06
Bonjour à tous.
Je suis en train de créer un programme PHP-MySQL (excellent choix, n'est-ce pas !).
L'insertion de données fonctionnent (presque-avec bidouilles) parfaitement, mais j'ai un souci avec mes mises à jour (UPDATE).
Je me suis basé sur le livre "PHP 5 Cours et exercices - PHP 5.2 et 5.3" de Jean Engels, aux éditions EYROLLES.
Voici mon programme :
<?php
if(empty($_POST['code'])){header("Location:majotv.php");}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mise à jour d'une fiche</title>
<?php include("header.html");?>
</head>
<body>
<div id="page">
<?php include("menu.php");?>
<?php
if($_POST['modif']!='Enregistrer')
{
//CREATION DU FORMULAIRE
include('connex.inc.php');
$code=mysql_escape_string($_POST['code']);
//Requête SQL
$idcom=connex('otv','myparam');
$requete="SELECT * FROM demandes WHERE id='$code' ";
$result=@mysql_query($requete,$idcom);
$coord=mysql_fetch_row($result);
$date1=$coord[4];
$annee1= substr($date1, 0, 4);
$mois1 = substr($date1, 5, 2);
$jour1 = substr($date1, 8, 2);
$depart1=$jour1. '/' . $mois1 . '/' . $annee1;
$date2=$coord[5];
$annee2= substr($date2, 0, 4);
$mois2 = substr($date2, 5, 2);
$jour2 = substr($date2, 8, 2);
$retour1=$jour2. '/' . $mois2 . '/' . $annee2;
mysql_close($idcom);
//Création du formulaire
echo "<form action= \"". $_SERVER['PHP_SELF']."\" method=\"post
\"enctype=\"application/x-www-form-urlencoded\">";
echo "<fieldset>";
echo "<legend><b>Modifiez la fiche</b></legend>";
echo "<table width=\"300\" border=\"0\">";
echo "<tr><td>Nom du demandeur : </td><td><input type=\"text\" name=\"nom\"
value=\"$coord[1]\"/> </td></tr>";
echo "<tr><td>N° de rue : </td><td><input type=\"text\" name=\"numero
\" value=\"$coord[2]\"/></td></tr>";
echo "<tr><td>Adresse : </td><td><input type=\"text\" name=\"adresse\"
value=\"$coord[3]\"/></td></tr>";
echo "<tr><td>Date de départ : </td><td><input type=\"text\" name=\"depart\" class=\"datepicker\" value=\"$depart1\"/></td></tr>";
echo "<tr><td>Date de retour : </td><td><input type=\"text\" name=\"retour\" class=\"datepicker\" value=\"$retour1\"/></td></tr>";
echo "<tr><td>Téléphone : </td><td><input type=\"text\" name=\"tel\"
value=\"$coord[6]\"/></td></tr>";
echo "<tr><td>Alarme : </td><td><input type=\"text\" name=\"alarme\" value=\"$coord[7]\"/></td></tr>";
echo "<tr><td>Cambriolage : </td><td><input type=\"text\" name=\"camb\" value=\"$coord[8]\"/></td></tr>";
echo "<tr><td><input type=\"reset\" value=\" Effacer \"></td><td><input
type=\"submit\" name=\"modif\" value=\"Enregistrer\"></td></tr></table>";
echo "</fieldset>";
echo "<input type=\"hidden\" name=\"code\" value=\"$code\"/>";
echo "</form>";
}
if(isset($_POST['nom'])&& isset($_POST['numero'])&& isset($_POST['adresse'])&& isset($_POST['depart'])&& isset($_POST['retour'])&& isset($_POST['tel']))
{
//ENREGISTREMENT
include('connex.inc.php');
$nom=mysql_escape_string($_POST['nom']);
$numero=mysql_escape_string($_POST['numero']);
$adresse=mysql_escape_string($_POST['adresse']);
$date3=$_POST['depart'];
$annee3 = substr($date3, 6, 4);
$mois3 = substr($date3, 3, 2);
$jour3 = substr($date3, 0, 2);
$depart=$annee3. '-' . $mois3 . '-' . $jour3;
$date4=$_POST['retour'];
$annee4 = substr($date4, 6, 4);
$mois4 = substr($date4, 3, 2);
$jour4 = substr($date4, 0, 2);
$retour=$annee4. '-' . $mois4 . '-' . $jour4;
$tel=mysql_escape_string($_POST['tel']);
$alarme=mysql_escape_string($_POST['alarme']);
$camb=mysql_escape_string($_POST['camb']);
$code=mysql_escape_string($_POST['code']);
//Requête SQL
$requete="UPDATE demandes SET nom='$nom',numero='$numero',adresse='$adresse',depart='$depart',retour='$retour',tel='$tel',alarme='$alarme',camb='$camb' WHERE id='$code'";
$idcom=connex('otv','myparam');
$result=mysql_query($requete,$idcom);
mysql_close($idcom);
if(!$result)
{
echo "<script type=\"text/javascript\">
alert('Erreur : ".mysql_error()."')</script>";
}
else
{
echo "<script type=\"text/javascript\"> alert('Vos modifications sont enregistrées');window.location='index.htm';</script>";
}
}
else
{
echo "<h2>Modifiez les informations</h2>";
}
?>
L'appel du formulaire fonctionne, je me retrouve avec mes champs préremplis.
Par contre, dès que je valide, aucune mise à jour sur MySQL ne s'opère. Je n'ai d'ailleurs aucun message d'erreur.
Si vous pouviez jeter un coup d'oeil à mon code...
Je vous remercie de votre attention.
Fabien.
Bonjour à tous.
Je suis en train de créer un programme PHP-MySQL (excellent choix, n'est-ce pas !).
L'insertion de données fonctionnent (presque-avec bidouilles) parfaitement, mais j'ai un souci avec mes mises à jour (UPDATE).
Je me suis basé sur le livre "PHP 5 Cours et exercices - PHP 5.2 et 5.3" de Jean Engels, aux éditions EYROLLES.
Voici mon programme :
[php]
<?php
if(empty($_POST['code'])){header("Location:majotv.php");}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mise à jour d'une fiche</title>
<?php include("header.html");?>
</head>
<body>
<div id="page">
<?php include("menu.php");?>
<?php
if($_POST['modif']!='Enregistrer')
{
//CREATION DU FORMULAIRE
include('connex.inc.php');
$code=mysql_escape_string($_POST['code']);
//Requête SQL
$idcom=connex('otv','myparam');
$requete="SELECT * FROM demandes WHERE id='$code' ";
$result=@mysql_query($requete,$idcom);
$coord=mysql_fetch_row($result);
$date1=$coord[4];
$annee1= substr($date1, 0, 4);
$mois1 = substr($date1, 5, 2);
$jour1 = substr($date1, 8, 2);
$depart1=$jour1. '/' . $mois1 . '/' . $annee1;
$date2=$coord[5];
$annee2= substr($date2, 0, 4);
$mois2 = substr($date2, 5, 2);
$jour2 = substr($date2, 8, 2);
$retour1=$jour2. '/' . $mois2 . '/' . $annee2;
mysql_close($idcom);
//Création du formulaire
echo "<form action= \"". $_SERVER['PHP_SELF']."\" method=\"post
\"enctype=\"application/x-www-form-urlencoded\">";
echo "<fieldset>";
echo "<legend><b>Modifiez la fiche</b></legend>";
echo "<table width=\"300\" border=\"0\">";
echo "<tr><td>Nom du demandeur : </td><td><input type=\"text\" name=\"nom\"
value=\"$coord[1]\"/> </td></tr>";
echo "<tr><td>N° de rue : </td><td><input type=\"text\" name=\"numero
\" value=\"$coord[2]\"/></td></tr>";
echo "<tr><td>Adresse : </td><td><input type=\"text\" name=\"adresse\"
value=\"$coord[3]\"/></td></tr>";
echo "<tr><td>Date de départ : </td><td><input type=\"text\" name=\"depart\" class=\"datepicker\" value=\"$depart1\"/></td></tr>";
echo "<tr><td>Date de retour : </td><td><input type=\"text\" name=\"retour\" class=\"datepicker\" value=\"$retour1\"/></td></tr>";
echo "<tr><td>Téléphone : </td><td><input type=\"text\" name=\"tel\"
value=\"$coord[6]\"/></td></tr>";
echo "<tr><td>Alarme : </td><td><input type=\"text\" name=\"alarme\" value=\"$coord[7]\"/></td></tr>";
echo "<tr><td>Cambriolage : </td><td><input type=\"text\" name=\"camb\" value=\"$coord[8]\"/></td></tr>";
echo "<tr><td><input type=\"reset\" value=\" Effacer \"></td><td><input
type=\"submit\" name=\"modif\" value=\"Enregistrer\"></td></tr></table>";
echo "</fieldset>";
echo "<input type=\"hidden\" name=\"code\" value=\"$code\"/>";
echo "</form>";
}
if(isset($_POST['nom'])&& isset($_POST['numero'])&& isset($_POST['adresse'])&& isset($_POST['depart'])&& isset($_POST['retour'])&& isset($_POST['tel']))
{
//ENREGISTREMENT
include('connex.inc.php');
$nom=mysql_escape_string($_POST['nom']);
$numero=mysql_escape_string($_POST['numero']);
$adresse=mysql_escape_string($_POST['adresse']);
$date3=$_POST['depart'];
$annee3 = substr($date3, 6, 4);
$mois3 = substr($date3, 3, 2);
$jour3 = substr($date3, 0, 2);
$depart=$annee3. '-' . $mois3 . '-' . $jour3;
$date4=$_POST['retour'];
$annee4 = substr($date4, 6, 4);
$mois4 = substr($date4, 3, 2);
$jour4 = substr($date4, 0, 2);
$retour=$annee4. '-' . $mois4 . '-' . $jour4;
$tel=mysql_escape_string($_POST['tel']);
$alarme=mysql_escape_string($_POST['alarme']);
$camb=mysql_escape_string($_POST['camb']);
$code=mysql_escape_string($_POST['code']);
//Requête SQL
$requete="UPDATE demandes SET nom='$nom',numero='$numero',adresse='$adresse',depart='$depart',retour='$retour',tel='$tel',alarme='$alarme',camb='$camb' WHERE id='$code'";
$idcom=connex('otv','myparam');
$result=mysql_query($requete,$idcom);
mysql_close($idcom);
if(!$result)
{
echo "<script type=\"text/javascript\">
alert('Erreur : ".mysql_error()."')</script>";
}
else
{
echo "<script type=\"text/javascript\"> alert('Vos modifications sont enregistrées');window.location='index.htm';</script>";
}
}
else
{
echo "<h2>Modifiez les informations</h2>";
}
?>
[/php]
L'appel du formulaire fonctionne, je me retrouve avec mes champs préremplis.
Par contre, dès que je valide, aucune mise à jour sur MySQL ne s'opère. Je n'ai d'ailleurs aucun message d'erreur.
Si vous pouviez jeter un coup d'oeil à mon code...
Je vous remercie de votre attention.
Fabien.