Modifications non effectuées

Eléphant du PHP | 70 Messages

04 mars 2009, 09:30

Bonjour a tous, mon probleme est le suivant, j'ai un formulaire de modification et alors que tout me semble correct, rien ne se passe, aucunes modifications n'est effectuées.

voici le code de mon formulaire
<?php
	require_once('../connexion.php');
	mysql_select_db($database,$db);
	$incident=$_GET['incident'];/// Là tu récupère le code du matériel à modifier..

		// requete retournant les informations sur l'incident à modifier
		$sql2 = "SELECT * FROM incidents WHERE num_fiche='$incident'";
		$resultsql = mysql_query($sql2) or die('Erreur SQL! '.$sql2.''.mysql_error()); // en cas d'erreure
		$rep = mysql_fetch_assoc($resultsql);
?> 
<table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
	<tbody>
		<tr>
			<td style="height: 300px; width: 347px;"><img src="../logo_maif.jpg"></td>
			<td><center><font face="arial" color='#01796F'><h1><b><u>Gestion des incidents éditiques</u></b></h1></center></td>
		</tr>
	</tbody>
</table>
<br>
<hr color='#01796F'/>
<hr color='#01796F'/>
<H2><FONT FACE="arial" COLOR='#01796F'><div align="center">Modification d'un incident</div></FONT></H2>
<hr/ color='#01796F'>
<font face="arial" color='#01796F'><b>Incident à modifier :</b>
<form name="form" action="ModificationIncidentOperateur.php?incident=<?php echo $_GET['incident'];?>" method="post">
	<table style="width: 100%" align="center">
		<tr>
		   <td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Numéro fiche :</span></small></td>
		   <td><input type="text" name="ldnNum" size="40" value="<?php echo $rep['num_fiche'];?>" disabled></td>
		   <td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Lien fiche :</span></small></td>
			<td><input type="text" name="ldnlien" size="40" value="<?php echo $rep['lien_fiche'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Date :</span></small></td>
			<td><input type="text" name="ldndate" size="40" value="<?php echo $rep['date_icdt'];?>" disabled></td>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Heure :</span></small></td>
			<td><input type="text" name="ldnheure" size="40" value="<?php echo $rep['heure_icdt'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Déclarant :</span></small></td>
			<?php
				$employe=$rep['NumEmploye'];
		        $sql = "SELECT Nom FROM employer WHERE NumEmploye='$employe'"; //Requete permettant de savoir si la valeur est dans la base de donnees
		        $req = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error()); // en cas d'erreure
		        $data = mysql_fetch_assoc($req); //les resultats de la requete est dans une variable
			?>
			<td><input type="text" name="ldndecl" size="40" value="<?php echo $data['Nom'];?>" disabled></td>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Majeur :</span></small></td>
			<?php 
				$res = "";
				if ( $rep['icdt_majeur'] == "0" )
				{
					$res = "Non";
				}
				else
				{
					$res = "Oui";
				}
			?>
			<td><input type="text" name="ldnmaj" size="40" value="<?php echo $res;?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Impact Sociétaire :</span></small></td>
			<?php 
				$res = "";
				if ( $rep['ImpactSocietaire'] == "0" )
				{
					$res = "Non";
				}
				else
				{
					$res = "Oui";
				}
			?>
			<td><input type="text" name="ldnmaj" size="40" value="<?php echo $res;?>" disabled></td>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Matériel :</span></small></td>
			<?php
				$materiel=$rep['CodeMateriel'];
		        $sql = "SELECT Nom FROM materiel WHERE CodeMateriel='$materiel'"; //Requete permettant de savoir si la valeur est dans la base de donnees
		        $req = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error()); // en cas d'erreure
		        $data = mysql_fetch_assoc($req); //les resultats de la requete est dans une variable
			?>
			<td><input type="text" name="ldnmat" size="40" value="<?php echo $data['Nom'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Secteur :</span></small></td>
			<?php
				$secteur=$rep['CodeSecteur'];
		        $sql = "SELECT Nom FROM secteur WHERE CodeSecteur='$secteur'"; //Requete permettant de savoir si la valeur est dans la base de donnees
		        $req = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error()); // en cas d'erreure
		        $data = mysql_fetch_assoc($req); //les resultats de la requete est dans une variable
			?>
			<td><input type="text" name="ldnsec" size="40" value="<?php echo $data['Nom'];?>" disabled></td>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Statut Incident :</span></small></td>
			<?php 
				$res = "";
				if ( $rep['CodeStatutIncident'] == "OUV" )
				{
					$res = "Ouvert";
				}
				elseif ( $rep['CodeStatutIncident'] == "COM" )
				{
					$res = "Pris en Compte";
				}
				elseif ( $rep['CodeStatutIncident'] == "FER" )
				{
					$res = "Fermé";
				}
				else
				{
					$res = "Ré-ouvert";
				}
			?>
			<td><input type="text" name="ldnstati" size="40" value="<?php echo $res;?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Statut Production :</span></small></td>
			<?php 
				$res = "";
				if ( $rep['CodeStatutProd'] == "PBL" )
				{
					$res = "Bloquée";
				}
				elseif ( $rep['CodeStatutProd'] == "PNO" )
				{
					$res = "Normale";
				}
				else
				{
					$res = "Dégradée";
				}
			?>
			<td><input type="text" name="ldnstatprod" size="40" value="<?php echo $res;?>" disabled></td>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Prestataire :</span></small></td>
			<?php
				$prestataire=$rep['CodePrestataire'];
		        $sql = "SELECT Nom FROM prestataire WHERE CodePrestataire='$prestataire'"; //Requete permettant de savoir si la valeur est dans la base de donnees
		        $req = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error()); // en cas d'erreure
		        $data = mysql_fetch_assoc($req); //les resultats de la requete est dans une variable
			?>
			<td><input type="text" name="ldnpres" size="40" value="<?php echo $data['Nom'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Description :</span></small></td>
			<td><input type="text" name="ldndesc" size="40" value="<?php echo $rep['descrip_icdt'];?>" disabled></td>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Intervenant :</span></small></td>
			<td><input type="text" name="ldninter" size="40" value="<?php echo $rep['Intervenant'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Date résolution :</span></small></td>
			<td><input type="text" name="ldndateresol" size="40" value="<?php echo $rep['date_resol'];?>" disabled></td>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Heure résolution :</span></small></td>
			<td><input type="text" name="ldnheureresol" size="40" value="<?php echo $rep['heure_resol'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Description résolution :</span></small></td>
			<td><input type="text" name="ldndescr" size="40" value="<?php echo $rep['descrip_resol '];?>" disabled></td>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Observation :</span></small></td>
			<td><input type="text" name="ldnobserv" size="40" value="<?php echo $rep['observation'];?>"></td>
		</tr>
		<tr>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Motif de ré-ouverture :</span></small></td>
			<td><input type="text" name="ldnreouv" size="40" value="<?php echo $rep['motif_r_icdt'];?>" disabled></td>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Numéro TeamTrack :</span></small></td>
			<td><input type="text" name="ldnnumtt" size="40" value="<?php echo $rep['num_teamtrack'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 163px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Remarque responsable :</span></small></td>
			<td><input type="text" name="ldnremarque" size="40" value="<?php echo $rep['remarque_resp'];?>" disabled></td>
		</tr>
	</table>
	<br>
	<br>
	<hr color='#01796F'/>
	<br>
	<center><input type="submit" name="modifier" value="Modifier"/></center>
	<br>
	<table style="width: 100%" border="0">
		<tr>
			<td style="width: 50%"><center><a href="../acceuil.php"><font face="arial" color='#01796F' size="2">Retour au menu</a></center></td>
			<td><center><a href="ModifIncidentOperateur.php"><font face="arial" color='#01796F' size="2">Retour à la page précédente</a></center></td>
		</tr>
	</table>
</form>
<?php
	if (isset($_POST['modifier']))
	{	
		//allocation des variables
		$numfiche=$_POST['ldnNum'];
		$observ=$_POST['ldnobserv'];
		echo $numfiche;
		
		//requete
		$query = "UPDATE incidents 
		SET observation='$observ'
		WHERE num_fiche='$numfiche'";
		$result = mysql_query($query) or die(mysql_error());
	}
	else
	{
		echo 'ça ne fait pas l\'UPDATE';
	}
?>
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Eléphant du PHP | 353 Messages

04 mars 2009, 10:57

même chose qu'hier..
As tu fais un écho voir si tu rentrais dans ton if du update ?
Affiche la requete exécuté.
Qu'est ce qu'y est retournée ?

Merci de nous faciliter le travail en ajoutant toutes les informations utiles dans ce genre :wink:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 mars 2009, 11:03

Merci de nous faciliter le travail en ajoutant toutes les informations utiles dans ce genre :wink:
Même si je ne peux qu'abonder dans le sens de cette phrase, ces informations ne sont pas seulement utiles pour nous.
Elle doivent t'être utile à toi (Arkonara) pour comprendre ton problème.

Nous ne sommes pas des surhommes et tous ce que nous faisons, tu peux le faire, et obtenir ces informations doit te permettre de comprendre, un jour, toi même, tout seul, ce qui ne va pas ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 70 Messages

04 mars 2009, 11:05

Merci yaug encore une fois de bien vouloir prendre le temps de me repondre.
Alors depuis que j'ai posté ce message, mon code a un petit peu changer, je te l'envois

tu constatera un
if (!isset($_POST['modifier']))
vers le debut ainsi qu'un
var_dump($_POST);
toujours au debut qui me permet de voir ce que contienne mes variables apres appuy sur le submit, le message qu'il me renvois est le suivant:

Code : Tout sélectionner

array(2) { ["ldnobserv"]=> string(2) "Aa" ["modifier"]=> string(8) "Modifier" }
donc voici mon code avec les changements
<?php
	require_once('../connexion.php');
	mysql_select_db($database,$db);
	var_dump($_POST);
	$incident=$_GET['incident'];/// Là tu récupère le code du matériel à modifier..
	if (!isset($_POST['modifier']))
	{
		// requete retournant les informations sur l'incident à modifier
		$sql2 = "SELECT * FROM incidents WHERE num_fiche='$incident'";
		$resultsql = mysql_query($sql2) or die('Erreur SQL! '.$sql2.''.mysql_error()); // en cas d'erreure
		$rep = mysql_fetch_assoc($resultsql);
?> 
<table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
	<tbody>
		<tr>
			<td style="height: 300px; width: 347px;"><img src="../logo_maif.jpg"></td>
			<td><center><font face="arial" color='#01796F'><h1><b><u>Gestion des incidents éditiques</u></b></h1></center></td>
		</tr>
	</tbody>
</table>
<br>
<hr color='#01796F'/>
<hr color='#01796F'/>
<H2><FONT FACE="arial" COLOR='#01796F'><div align="center">Modification d'un incident</div></FONT></H2>
<hr/ color='#01796F'>
<font face="arial" color='#01796F'><b>Incident à modifier :</b>
<form name="form" action="ModificationIncidentOperateur.php?incident=<?php echo $_GET['incident'];?>" method="post">
	<table style="width: 100%" align="center">
		<tr>
		   <td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Numéro fiche :</span></small></td>
		   <td><input type="text" name="ldnNum" size="40" value="<?php echo $rep['num_fiche'];?>" disabled></td>
		   <td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Lien fiche :</span></small></td>
			<td><input type="text" name="ldnlien" size="40" value="<?php echo $rep['lien_fiche'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Date :</span></small></td>
			<td><input type="text" name="ldndate" size="40" value="<?php echo $rep['date_icdt'];?>" disabled></td>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Heure :</span></small></td>
			<td><input type="text" name="ldnheure" size="40" value="<?php echo $rep['heure_icdt'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Déclarant :</span></small></td>
			<?php
				$employe=$rep['NumEmploye'];
		        $sql = "SELECT Nom FROM employer WHERE NumEmploye='$employe'"; //Requete permettant de savoir si la valeur est dans la base de donnees
		        $req = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error()); // en cas d'erreure
		        $data = mysql_fetch_assoc($req); //les resultats de la requete est dans une variable
			?>
			<td><input type="text" name="ldndecl" size="40" value="<?php echo $data['Nom'];?>" disabled></td>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Majeur :</span></small></td>
			<?php 
				$res = "";
				if ( $rep['icdt_majeur'] == "0" )
				{
					$res = "Non";
				}
				else
				{
					$res = "Oui";
				}
			?>
			<td><input type="text" name="ldnmaj" size="40" value="<?php echo $res;?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Impact Sociétaire :</span></small></td>
			<?php 
				$res = "";
				if ( $rep['ImpactSocietaire'] == "0" )
				{
					$res = "Non";
				}
				else
				{
					$res = "Oui";
				}
			?>
			<td><input type="text" name="ldnmaj" size="40" value="<?php echo $res;?>" disabled></td>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Matériel :</span></small></td>
			<?php
				$materiel=$rep['CodeMateriel'];
		        $sql = "SELECT Nom FROM materiel WHERE CodeMateriel='$materiel'"; //Requete permettant de savoir si la valeur est dans la base de donnees
		        $req = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error()); // en cas d'erreure
		        $data = mysql_fetch_assoc($req); //les resultats de la requete est dans une variable
			?>
			<td><input type="text" name="ldnmat" size="40" value="<?php echo $data['Nom'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Secteur :</span></small></td>
			<?php
				$secteur=$rep['CodeSecteur'];
		        $sql = "SELECT Nom FROM secteur WHERE CodeSecteur='$secteur'"; //Requete permettant de savoir si la valeur est dans la base de donnees
		        $req = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error()); // en cas d'erreure
		        $data = mysql_fetch_assoc($req); //les resultats de la requete est dans une variable
			?>
			<td><input type="text" name="ldnsec" size="40" value="<?php echo $data['Nom'];?>" disabled></td>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Statut Incident :</span></small></td>
			<?php 
				$res = "";
				if ( $rep['CodeStatutIncident'] == "OUV" )
				{
					$res = "Ouvert";
				}
				elseif ( $rep['CodeStatutIncident'] == "COM" )
				{
					$res = "Pris en Compte";
				}
				elseif ( $rep['CodeStatutIncident'] == "FER" )
				{
					$res = "Fermé";
				}
				else
				{
					$res = "Ré-ouvert";
				}
			?>
			<td><input type="text" name="ldnstati" size="40" value="<?php echo $res;?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Statut Production :</span></small></td>
			<?php 
				$res = "";
				if ( $rep['CodeStatutProd'] == "PBL" )
				{
					$res = "Bloquée";
				}
				elseif ( $rep['CodeStatutProd'] == "PNO" )
				{
					$res = "Normale";
				}
				else
				{
					$res = "Dégradée";
				}
			?>
			<td><input type="text" name="ldnstatprod" size="40" value="<?php echo $res;?>" disabled></td>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Prestataire :</span></small></td>
			<?php
				$prestataire=$rep['CodePrestataire'];
		        $sql = "SELECT Nom FROM prestataire WHERE CodePrestataire='$prestataire'"; //Requete permettant de savoir si la valeur est dans la base de donnees
		        $req = mysql_query($sql) or die('Erreur SQL! '.$sql.''.mysql_error()); // en cas d'erreure
		        $data = mysql_fetch_assoc($req); //les resultats de la requete est dans une variable
			?>
			<td><input type="text" name="ldnpres" size="40" value="<?php echo $data['Nom'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Description :</span></small></td>
			<td><input type="text" name="ldndesc" size="40" value="<?php echo $rep['descrip_icdt'];?>" disabled></td>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Intervenant :</span></small></td>
			<td><input type="text" name="ldninter" size="40" value="<?php echo $rep['Intervenant'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Date résolution :</span></small></td>
			<td><input type="text" name="ldndateresol" size="40" value="<?php echo $rep['date_resol'];?>" disabled></td>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Heure résolution :</span></small></td>
			<td><input type="text" name="ldnheureresol" size="40" value="<?php echo $rep['heure_resol'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Description résolution :</span></small></td>
			<td><input type="text" name="ldndescr" size="40" value="<?php echo $rep['descrip_resol '];?>" disabled></td>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Observation :</span></small></td>
			<td><input type="text" name="ldnobserv" size="40" value="<?php echo $rep['observation'];?>"></td>
		</tr>
		<tr>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Motif de ré-ouverture :</span></small></td>
			<td><input type="text" name="ldnreouv" size="40" value="<?php echo $rep['motif_r_icdt'];?>" disabled></td>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Numéro TeamTrack :</span></small></td>
			<td><input type="text" name="ldnnumtt" size="40" value="<?php echo $rep['num_teamtrack'];?>" disabled></td>
		</tr>
		<tr>
			<td style="width: 200px;"><small><span style="font-family: Arial; color:'#01796F'; font-weight: bold;">Remarque responsable :</span></small></td>
			<td><input type="text" name="ldnremarque" size="40" value="<?php echo $rep['remarque_resp'];?>" disabled></td>
		</tr>
	</table>
	<br>
	<br>
	<hr color='#01796F'/>
	<br>
	<center><input type="submit" name="modifier" value="Modifier"/></center>
	<br>
	<table style="width: 100%" border="0">
		<tr>
			<td style="width: 50%"><center><a href="../acceuil.php"><font face="arial" color='#01796F' size="2">Retour au menu</a></center></td>
			<td><center><a href="ModifIncidentOperateur.php"><font face="arial" color='#01796F' size="2">Retour à la page précédente</a></center></td>
		</tr>
	</table>
</form>
<?php
	}
	if (isset($_POST['modifier']))
	{	
		//allocation des variables
		$numfiche=$_POST['ldnNum'];
		$observ=$_POST['ldnobserv'];
		echo $numfiche;
		
		//requete
		$query = "UPDATE incidents 
		SET observation='$observ'
		WHERE num_fiche='$numfiche'";
		$result = mysql_query($query) or die(mysql_error());
	}
?>
Merci zeus de me repondre egalement mais crois moi j'essai de comprendre, et je compte bien reussir a comprendre ( de toute facon j'aurais pas le choix pour exam il faudrat que je comprenne ) donc crois moi que j'essai serieusement de comprendre, aussi je debute en php avec cette application, donc je travail sa tkt
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Eléphant du PHP | 353 Messages

04 mars 2009, 11:14

Alors.
Quelques petits tuyau pour déboguer.
Comme l'a dit zeus, nous ne sommes pas des surhommes (enfin pas tous les jours), on applique en général juste quelques trucs et astuces pour déboguer.

En réalité rare sont les bogues vraiment bloquant.
En regardant bien l'erreur renvoyée par php, on comprend en général vite ou est le probleme.

Il faut en général faire / penser ceci :
-> Y a t'il une erreur php
----> Si oui, je vais regarder à la ligne indiqué ce qui ne fonctionne pas.

-> Dans tous les cas, afin de repérer l'endroit qui pose problème, j'ajoute judicieusement des echo aux endroits clés (entrée de boucle, condition...).

-> Si il y a une erreur sql, j'affiche à l'écran ma requête pour voir ce qui est envoyé à ma base de donnée
----> J'affiche ce que me renvoie la base de donnée.


Voila quelques pistes.
On ne conseil pas de chercher par soit même pour ne pas avoir à vous aider, mais bel et bien parce que c'est ainsi qu'on apprend. :wink:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 mars 2009, 11:24

On ne conseil pas de chercher par soit même pour ne pas avoir à vous aider, mais bel et bien parce que c'est ainsi qu'on apprend. :wink:
Effectivement, je ne dispute personne, je voulais juste t'expliquer que, en plus de comprendre pourquoi CE code ne fonctionne pas, comment débugger un code, de manière plus générale, et ceci pour toi.

Sinon, effectivement, on trouve le bug, on te dit quoi changer et c'est reparti pour 1 jour ou 2 ;)
Comme l'a bien dit un sage un jour :
"Pêche moi un poisson et je n'aurais pas faim aujourd'hui,
Apprend moi à pêcher et je n'aurais plus jamais faim"
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 mars 2009, 11:33

Dans tes données POST, il n'y a pas le numéro de la fiche.

Du coup, tu dois avoir un update qui ressemble à ça :

Code : Tout sélectionner

UPDATE incidents SET observation='Aa' WHERE num_fiche=''
Ce qui ne déclenche pas d'erreur, mais ne modifie rien en base de données.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 70 Messages

04 mars 2009, 11:41

merci yaug pour l'explication et comme tu le voir c'est ce que je fait (voir mon echo $numfiche)
ce echo ne s'affichant pas je constate donc que j'ai une erreur au niveau de mes conditions du if puisqu'il ne rentre pas dedans.

Zeus mon objectif ici est de changer le champs observation de ma table incidents pour la fiche indiquer, il faut donc que je recupere mon numFiche

et ma requete est doncbel et bien update incidents set observation = '$observ' Where num_fiche = '$numFiche';
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 mars 2009, 11:50

Je comprend bien ton but, mais j'essaye de te faire comprendre ton erreur.

Tu nous montres le résultat de cette commande :
var_dump($_POST);
Qui donne ce résultat :

Code : Tout sélectionner

array(2) { ["ldnobserv"]=> string(2) "Aa" ["modifier"]=> string(8) "Modifier" }
Or, dans ton code, je note que tu récupère ton num_fiche de cette manière :
$numfiche=$_POST['ldnNum'];
Si tu regarde bien le résultat de ton var_dump(), qui est le contenu de la variable $_POST[], tu te rend compte qu'il n'y a pas d'indice "ldnNum".
$_POST['ldnNum'] ne contient donc rien et ta variable $numfiche ne contient donc rien non plus.

Par contre, $_POST['ldnobserv'] contient bien "Aa", donc $observ contient bien "Aa"

Ensuite, si je prend ta requete de base :
$query = "UPDATE incidents  
        SET observation='$observ' 
        WHERE num_fiche='$numfiche'";
Si je remplace les variables par les valeurs qu'elles contiennent, j'obtiens la requête suivante :
$query = "UPDATE incidents  
        SET observation='Aa' 
        WHERE num_fiche=''";
Fait un echo sur $query pour vérifier, mais je pense être dans le vrai
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 70 Messages

04 mars 2009, 11:56

Ah oui bien vu zeus, bien expliker jviens de comprendre l'erreur :D , mon
$numfiche=$_POST['ldnNum']; 
n'arrive pas a me recuperer le contenu de ldnNum.
Donc forcement ma requete devient fausse et donc mon update ne se realise pas :? .
Bon maintenant que je viens de comprendre sa il faut que je trouve un moyen de le corriger.

Merci zeus pour l'explication

je viens de tester le $query
et vou aviez raison, ma requete est la suivante:

Code : Tout sélectionner

UPDATE incidents SET observation='Aa' WHERE num_fiche=''
donc je ne recupere pas le ldnNum, mais comment ca se fait car pourtant j'utilise bien le $_POST?
Modifié en dernier par Arkonara le 04 mars 2009, 12:01, modifié 1 fois.
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 mars 2009, 11:59

Je n'en mettrais pas à ma main à couper, mais est-ce qu'un champ input disabled transmet bien sa valeur ?

Visiblement, tout tes champs disabled ne sont pas transmis ...

Essaye de transformer ces champs en <input type="hidden">
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 70 Messages

04 mars 2009, 12:05

je ne peux la mettre en type hidden car cela permettrai a l'utilisateur de changer ce champ hors ce champs ne doit absolument pas pouvoir etre changer. le seul champ qui peut etre modifier est observation. c'est pourquoi je suis obliger de laisser le disabled
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Eléphant du PHP | 353 Messages

04 mars 2009, 12:07

En hidden l'utilisateur devra aller modifier le code html hein :wink:
Car un champ hidden n'est pas visible à même ta page.

Eléphant du PHP | 70 Messages

04 mars 2009, 12:14

c'est bon jviens de reussir en le mettant en type hidden et en enlevant le disabled
<td><input type="hidden" name="ldnNum" size="40" value="<?php echo $rep['num_fiche'];?>"></td>
merci les gars
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Eléphant du PHP | 353 Messages

04 mars 2009, 12:16

attention aux erreurs bêtes.
Tu as laissé le champ en disabled :wink:
Du coup il n'est pas envoyé dans le $_POST


Edit:
Bon.. voila.
Pense à marquer le topic comme résolu aussi.

bonne continuation