Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > Smarty
Smarty Forum d'entraide sur le moteur de templates Smarty. Avant de poster -> FAQ Smarty et Cours Smarty
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/07/2006, 18h23   #1
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
Par défaut Valeur des champs en modification

Bonjour,

Je viens de m'appercevoir d'une grosse coquille en testant mon appli.

Je suis en modification sur ma table (mysql)

Lorsque j'ai une anomalie je réaffiche ma page, mais mes champs affichés reprennent la valeur de ma table.

Pour être clair voici un exemple :

Code :
1
2
Libellé : Bonjour
Texte : Nous abordons aujourd'hui
"Bonjour" vient de ma table

Je modifie mon libellé et je saisie

Code :
1
2
Libellé : Bonsoir
Texte :
Le fait de mettre le texte à blanc signal une erreur et la page se réaffiche avec :

Code :
1
2
Libellé : Bonjour
Texte : Nous abordons aujourd'hui
En fait il relit la table (mysql). Alors j'ai fait une condition pour éviter la relecture. Résultat je me retrouve avec

Rien

Voici mon code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
include("../inc/conf.php");
include("../inc/fonctions.php");
include("../inc/verif.php");
include("../inc/smarty.php");
 
// Récupération de l'ID de la table
$sql_id=@$send_sql_id;
 
// Récupération du type de traitement demandé
$demande_trt=@$send_trt;
$smarty->assign("sql_id", $send_sql_id);
 
// Connexion à la base de données
include("../inc/connexion_bdd.php");
 
// Initialisation des champs de messages d'erreur
$messages="";
$echec="";
$traitement="";
// Validation des modification ou retour.
$retour = "requetes.php";
include("../inc/valButton.php");
 
		if (@$traitement == "1")
		{
		// Contrôle des champs à mettre à jour
 
			include("../inc/ctrReqSql.php");
 
    		if($echec=="") 
   			{
 
			$traitement = "0";
 
            $libelle = trim($libelle);
			$libelle = strip_tags($libelle);
			$libelle = str_replace('"','"',$libelle);
			$libelle = stripslashes($libelle);
 
            $sql_requete = trim($sql_requete);
			$sql_requete = strip_tags($sql_requete);
			$sql_requete = str_replace('"','"',$sql_requete);
			$sql_requete = stripslashes($sql_requete);
 
			$libelle = addslashes($libelle);				
 
								$req = ("UPDATE ".$prefixe_table."t_sql 
										SET 	sql_type_id=\"$sql_type_id\", libelle=\"$libelle\", sql_requete=\"$sql_requete\",id_trt=\"$id_trt\"
										WHERE sql_id=\"$sql_id\"");
 
								$result = mysql_query("$req") or die ("mise à jour impossible de cette Table accès incorrect");
 
								mysql_close($connect_db);
 
								header("location: requetes.php");
								exit();
			}
			else 
			{ 
        		$messages="Echec.<br>Corrigez votre saisie.<br>".$echec;
        }
	}
 
// Lecture de la table des requêtes
include("../files/get_requete.php");
 
// Affichage
$smarty->assign("requete", $requete);
$smarty->display('modifier_requete.html');
include("../inc/footer.php");
?>
Une idée serait la bienvenue, je ne vois pas comment faire
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 16h21   #2
Membre émérite
 
Avatar de gretch
 
Homme
Administrateur systèmes et réseaux
Inscription : avril 2006
Messages : 979
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Administrateur systèmes et réseaux

Informations forums :
Inscription : avril 2006
Messages : 979
Points : 980
Points : 980
à tu essayer de recharger (via un include ...) la meme page
mais en récupérant toute les variable $_POST qui ne sont pas egal à la valeur par defaut et en les réaffichant,

$nom=$_POST['nom']

Code :
<input type="text" value="taper ici" name="$nom"/>
apres SUBMIT :

Code :
1
2
3
4
5
6
IF ($nom == "taper ici" OR ""){
// tu recharge la page
}ELSE {
//ce que tu veux, ça à marcher 
}
__________________
un ptit jeu sympa
gretch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 20h05   #3
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
Merci,

J'ai fait un test conditionnel.

Si je suis en $_POST alors j'allimente les champ de mon écran avec les champs POST, sinon je lis mon fichier.

Et cela semble fonctionner
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h33.


 
 
 
 
Partenaires

Hébergement Web