modification non effectué

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : modification non effectué

par Victor BRITO » 27 oct. 2008, 17:21

Regarde donc côté formulaire si tu ne t'es pas trompé de nom pour le champ.
Voire si aucun champ correspondant n'existe (fût-il de type hidden).

Édition : grillé. :oops:

par Cypher_PHP » 27 oct. 2008, 17:20

ca y est
bravo à toi

un grand génie

un erreur dans le formulaire
j'ai tapé trop vite : id au lieu d'id_tuteur

merci beaucoup
je mets en résolu

par charabia » 27 oct. 2008, 17:17

Regarde donc côté formulaire si tu ne t'es pas trompé de nom pour le champ.

par Cypher_PHP » 27 oct. 2008, 17:16

non, il n'affiche pas le résultat de l'id

bonne idée de tester cela

par Victor BRITO » 27 oct. 2008, 17:11

je viens de tester en remplaçant par un nombre entier
avec cette syntaxe, ca marche
//$id_tuteur	=	$_POST['id_tuteur'];
if(isset($_POST['modif_tuteur']))
	{
	$sql_update    = "UPDATE tuteur SET nom = '".mysql_real_escape_string($nom)."', prenom = '".mysql_real_escape_string($prenom)."' 
	WHERE id_tuteur = 39 "; 
	$req_update	=	mysql_query($sql_update)or die('Erreur SQL ! '.$sql_update.'<br>'.mysql_error()); 
	}
donc probablement un pb de quotes?
Non. Le problème doit certainement venir de la valeur retournée par $_POST['id_tuteur'].

Si tu effectues un echo $_POST['id_tuteur'], qu'est-ce que ça affiche ?

par Cypher_PHP » 27 oct. 2008, 17:06

je viens de tester en remplaçant par un nombre entier
avec cette syntaxe, ca marche
//$id_tuteur	=	$_POST['id_tuteur'];
if(isset($_POST['modif_tuteur']))
	{
	$sql_update    = "UPDATE tuteur SET nom = '".mysql_real_escape_string($nom)."', prenom = '".mysql_real_escape_string($prenom)."' 
	WHERE id_tuteur = 39 "; 
	$req_update	=	mysql_query($sql_update)or die('Erreur SQL ! '.$sql_update.'<br>'.mysql_error()); 
	}
donc probablement un pb de quotes?

par Victor BRITO » 27 oct. 2008, 17:02

Pourrais-tu nous montrer l'affichage généré par echo $sql_update ? ;)

par Cypher_PHP » 27 oct. 2008, 16:55

vide???
oh non!!

dans le formulaire, il m'affiche tous les données récupérées compris l'id_tuteur

par Victor BRITO » 27 oct. 2008, 16:46

Il est fort probable que $_POST['id_tuteur'] soit vide.

par mere-teresa » 27 oct. 2008, 16:43

Que donne echo $sql_update; ?

par Cypher_PHP » 27 oct. 2008, 16:42

voici le message d'erreur:

Code : Tout sélectionner

Erreur SQL !UPDATE tuteur SET nom = 'BOUCHONNEAU', prenom = 'GILLEs' WHERE id_tuteur = You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
// -------modification des données du formulaire modif1_tuteur.php  -------------------------

	if(isset($_POST['modif_tuteur']))
	{
	$sql_update    = "UPDATE tuteur SET nom = '".$_POST['nom']."', prenom = '".$_POST['prenom']."' WHERE id_tuteur = ".$_POST['id_tuteur']." "; 
	$req_update	=	mysql_query($sql_update)or die('Erreur SQL !'.$sql_update.'<br>'.mysql_error()); 
	}
voici la structure BD
CREATE TABLE `tuteur` (
  `id_tuteur` int(3) NOT NULL auto_increment,
  `nom` varchar(50) NOT NULL,
  `prenom` varchar(50) NOT NULL,
  KEY `id_tuteur` (`id_tuteur`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=45 ;

par Victor BRITO » 27 oct. 2008, 16:37

As-tu des messages d'erreur ?

De plus, je te conseille vivement d'utiliser mysql_real_escape_string() pour te prémunir d'attaques par injonction SQL.

Enfin, $_POST['id_tuteur'] a-t-elle une valeur valide ?

par charabia » 27 oct. 2008, 16:36

Hello !

Toutes les valeurs sont-elles correctement récupérées ?
$sql_update    = "UPDATE tuteur SET nom = '".$_POST['nom']."', prenom = '".$_POST['prenom']."' WHERE id_tuteur = ".$_POST['id_tuteur'];
l'id_tuteur est un entier, il ne faut pas l'entourer de simple quote.

modification non effectué

par Cypher_PHP » 27 oct. 2008, 16:32

bonjour

après envoyé le formulaire dans lequel je modifie les données, ceux ci ne sont pas modifiés dans la base.

je cherche ce problème.
un problème de syntaxe?
merci de vos réponses
voici le code source
// -------modification des données du formulaire modif1_tuteur.php  -------------------------

	if(isset($_POST['modif_tuteur']))
	{
	$sql_update    = "UPDATE tuteur SET nom = '".$_POST['nom']."', prenom = '".$_POST['prenom']."' WHERE id_tuteur = '".$_POST['id_tuteur']."' "; 
	$req_update	=	mysql_query($sql_update)or die('Erreur SQL !'.$sql_update.'<br>'.mysql_error()); 
	}