Bug avec un UPDATE [PHP-MYSQL] - PHP - Programmation
Marsh Posté le 06-02-2006 à 10:15:56
Huum tu as du passer d'une version de php avec 'register_globals' à une version sans.
Du coup tous tes tests "isset" foirent et tu initialises toutes tes variables à 0.
Solution: utilisé $_GET comme tu le fais pour les premières variables.
Marsh Posté le 06-02-2006 à 10:52:07
je le fais, mais j'ai tjrs des valeurs à zéro dans ma ligne
Marsh Posté le 07-02-2006 à 14:37:09
3 choses :
1 - utilise la concaténation dans tes chaines , c'est plus rigoureux...
2 - pour le header utilise urlencode() , certaines fonctions sont faites pour etre utilisées
3 - Pour ton problème , vois ce que t'affiche le code :
Code :
|
Pour une validation de formulaire par methode get
Code :
|
Pour une validation de formulaire par methode post
Histoire de voir si tu récupère bien toutes tes données
Marsh Posté le 06-02-2006 à 09:50:55
Hello,
j'ai modifié la version de php sur mon serveur et du coup j'ai eu les erreurs de variables nons déclarée, j'ai donc fait les modifs mais depuis toute modifications entraine un effacement (toutes les valeurs sont à zéro) de la ligne dans la BD.
Je ne code pas très souvent, je m'excuse d'avance des éventuelles fautes de syntaxe
voici le script qui est executé quand je soumet le formulaire de modification:
<?
require("connect.php" );
if ( !isset($_GET['N'])) {
die("Fuck, ref $N non spécifié" );
} else {
$N = $_GET['N'];
}
if ( !isset($_GET['mois'])){
$mois = date("m" );
} else {
$mois = $_GET['mois'];
}
if ( !isset($_GET['position'])){
$position = 0;
} else {
$position = $_GET['position'];
}
if ( !isset($_GET['tri'])){
$tri = "";
} else {
$tri= $_GET['tri'];
}
if ( !isset($_GET['order'])){
$order = "DESC";
} else {
$order = $_GET['order'];
}
//déclarations
if (!isset($N_Fiche_print)){ $N_Fiche_print = '0';}
if (!isset($Date_Ano_print)){ $Date_Ano_print = '0';}
if (!isset($Emetteur_print)){ $Emetteur_print = '0';}
if (!isset($Reçu_le_print)){ $Reçu_le_print = '0';}
if (!isset($Client_Nom_print)){ $Client_Nom_print = '0';}
if (!isset($Client_N_Cpte_print)){ $Client_N_Cpte_print = '0';}
if (!isset($RC_print)){ $RC_print = '0';}
if (!isset($NC_Interne_print)){ $NC_Interne_print = '0';}
if (!isset($Regul_Com_print)){ $Regul_Com_print = '0';}
if (!isset($Geste_Com_print)){ $Geste_Com_print = '0';}
if (!isset($SC_Sais_print)){ $SC_Sais_print = '0';}
if (!isset($SC_Traitement_print)){ $SC_Traitement_print = '0';}
if (!isset($Stock_Prepa_print)){ $Stock_Prepa_print = '0';}
if (!isset($Stock_Fact_print)){ $Stock_Fact_print = '0';}
if (!isset($Stock_Exp_print)){ $Stock_Exp_print = '0';}
if (!isset($Stock_Autre_print)){ $Stock_Autre_print = '0';}
if (!isset($Reception_print)){ $Reception_print = '0';}
if (!isset($Fdv_RMO_print)){ $Fdv_RMO_print = '0';}
if (!isset($Fdv_dealer_print)){ $Fdv_dealer_print = '0';}
if (!isset($Fdv_Achats_print)){ $Fdv_Achats_print = '0';}
if (!isset($Fdv_Presoud_print)){ $Fdv_Presoud_print = '0';}
if (!isset($Fdv_Rep_print)){ $Fdv_Rep_print = '0';}
if (!isset($NCF_print)){ $NCF_print = '0';}
if (!isset($Client_Erreur_print)){ $Client_Erreur_print = '0';}
if (!isset($Client_Autre_print)){ $Client_Autre_print = '0';}
if (!isset($Retour_Commande)){ $Retour_Commande = '0';}
if (!isset($Nvle_Commande)){ $Nvle_Commande = '0';}
if (!isset($N_Nvle_Commande)){ $N_Nvle_Commande = '0';}
if (!isset($Objet_print)){ $Objet_print = '0';}
if (!isset($AC_print)){ $AC_print = '0';}
if (!isset($Soldes_print)){ $Soldes_print = '0';}
if (!isset($msg)){ $msg = '0';}
//sauvegarde des modifications
$sql = "UPDATE anomalie set N_Fiche ='$N_Fiche_print',Date_Ano = '$Date_Ano_print' ,Emetteur='$Emetteur_print' ,Reçu_le = '$Reçu_le_print',Client_Nom='$Client_Nom_print', Client_N_Cpte = '$Client_N_Cpte_print', RC = '$RC_print',NC_Interne = '$NC_Interne_print', Regul_Com = '$Regul_Com_print', Geste_Com = '$Geste_Com_print', SC_Sais = '$SC_Sais_print',SC_Traitement= '$SC_Traitement_print',Stock_Prepa= '$Stock_Prepa_print',Stock_Fact= '$Stock_Fact_print',Stock_Exp= '$Stock_Exp_print',Stock_Autre= '$Stock_Autre_print',Reception = '$Reception_print', Fdv_RMO= '$Fdv_RMO_print',Fdv_dealer= '$Fdv_dealer_print',Fdv_Achats= '$Fdv_Achats_print',Fdv_Presoud= '$Fdv_Presoud_print',Fdv_Rep= '$Fdv_Rep_print',NCF= '$NCF_print',Client_Erreur= '$Client_Erreur_print',Client_Autre= '$Client_Autre_print',Retour_Commande='$Retour_Commande',Nvle_Commande = '$Nvle_Commande',N_Nvle_Commande='$N_Nvle_Commande',Objet= '$Objet_print',AC= '$AC_print',Soldes= '$Soldes_print' WHERE N='$N' " ;
mysql_query($sql);
header("Location:index.php?tri=$tri&msg=Ligne modifiée" );
?>
Message édité par gaetan7 le 06-02-2006 à 09:51:18