Bonjour,
Je viens vers vous pour un petit souci de migration php 5.3 à 5.4. Avec le code suivant :
Pour vous expliquer le fonctionnement, dans l'interface admin du site, je sélectionne une catégorie où je veux éditer une page que je récupère avec le $_SESSION['cat'] = $_GET['cat']
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138 <?PHP include('connec.php'); session_start(); $_SESSION['cat'] = $_GET['cat']; $_SESSION['menu'] = $_POST['menu']; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Modification, suppression</title> <link href="css/main.css" rel="stylesheet" type="text/css"/> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <link rel="icon" type="images/gif" href="../images/favicon.ico" /> <link rel="shortcut icon" type="image/x-icon" href="../images/favicon.ico" /> <?PHP include('includes/tiny.php'); ?> </head> <body> <div id="pere"> <div id="left"> <div class="nav_links"> <?php include('includes/navigation.php'); ?> </div> </div> <div id="right"> <div id="choix-page"> <?PHP if(!isset($_POST['submit'])){ $req=mysql_query("SELECT id,page FROM $_SESSION[cat] ORDER by page"); ?> <form id="formu" method="post" action="modif.php?cat=<?PHP echo $_SESSION['cat']; ?>"> <fieldset> <input type="hidden" id="cat" name="cat" value=" <?PHP echo $_SESSION['cat']; ?>" /> <legend>Choix de la page à modifier</legend> <br /> <label for="Page :"></label> <select id="menu" name="menu" size="20"> <?PHP while($tab_result = mysql_fetch_array($req)){ ?> <option value="<?PHP echo $tab_result['id']; ?>"><?PHP echo $tab_result['page']; ?></option> <?PHP } ?> </select> <br /> <input type="submit" class="bouton" name="submit" id="submit" value="modifier" /> <input type="submit" class="bouton" name="submit" id="submit" value="supprimer" /> </fieldset> </form> <br /> <?PHP } else{ $req = mysql_query("SELECT * FROM $_GET[cat] where id = '$_POST[menu]' "); $tab_result = mysql_fetch_array($req); ?> <form id="formu2" method="post" action="modif.php?cat=<?PHP echo $_SESSION['cat']; ?>"> <fieldset> <legend>Modification de la page</legend> <br /> Vous allez modifier la page <?PHP echo $tab_result['page']; ?> <br /> <input type="hidden" name="npage" value="<?PHP echo $tab_result['page']; ?>"/> <br /> <label for="metad2">Description :</label> <input type="text" id="metad2" name="metad2" maxlength="100" size="100" value="<?PHP echo $tab_result['metad']; ?>" /> <br /> <br /> <label for="metak2">Mots clés :</label> <input type="text" id="metak2" name="metak2" maxlength="100" size="100" value="<?PHP echo $tab_result['metak']; ?>" /> <br /> <br /> <label for="title2">Titre de fenêtre :</label> <input type="text" id="title2" name="title2" maxlength="58" size="58" value="<?PHP echo $tab_result['title']; ?>" /> - Dol Celeb <br /> <br /> <label for="titre2">Titre :</label> <input type="text" id="titre2" name="titre2" maxlength="40" size="40" value="<?PHP echo $tab_result['titre']; ?>" /> <br /> <br /> <label for="chapeau2">Chapeau :</label> <input type="text" id="chapeau2" name="chapeau2" maxlength="100" size="100" value="<?PHP echo $tab_result['chapeau']; ?>" /> <br /> <br /> <label for="texte2">Texte :</label> <br /> <textarea id="texte2" name="texte2" cols="100" rows="25"><?PHP echo $tab_result['texte']; ?></textarea> <br /> <br /> <input type="submit" class="bouton" id="valid" name="valid" value="valider"/> </fieldset> <a href="modif.php?cat=<?= $_SESSION['cat'] ?>" class="lien"><img src="images/return.png" /></a> <?PHP } if (isset($_POST['valid'])){ $req2= mysql_query("UPDATE $_SESSION[cat] SET metad = '$_POST[metad2]', metak = '$_POST[metak2]', title = '$_POST[title2]', titre = '$_POST[titre2]', chapeau = '$_POST[chapeau2]', texte = '$_POST[texte2]' WHERE page = '$_POST[npage]'"); if($req2==1){ $mess = '<p>La page a été mise à jour.</p><br />'; } else{ $mess = 'La mise à jour de la page a échoué'; } echo $mess; } if (isset($_POST['menu']) && $_POST['submit'] == 'supprimer'){ $req2 = mysql_query("SELECT * FROM $_SESSION[cat] where id = '$_POST[menu]' "); $tab_result = mysql_fetch_array($req2); echo 'Etes-vous sûr de vouloir supprimer '.$tab_result['page'].' ? <a class="lien" href="modif.php?cat='.$_POST['cat'].'&menu='.$_SESSION['menu'].'&confirm=confirmation"><img src="images/valid.png" /></a><br /><br />'; /*echo $_POST['cat']; echo $_SESSION['menu'];*/ } if (isset($_GET['confirm']) && $_GET['confirm']=='confirmation'){ $req = mysql_query ("DELETE FROM $_GET[cat] where id='$_GET[menu]' "); if ($req == 1){ $mess = 'Données effacées, F5 pour rafraîchr'; } else{ $mess = 'Les données n\'ont pu être effacées'; } echo $mess; } ?> </form> </div> </div> </div> </body> </html>
Ensuite s'affiche un premier menu, le formulaire "formu2" dans lequel je sélectionne une page, puis ensuite de la modifier ou la supprimer.
Si je choisis modifier j'arrive ensuite sur le formulaire "formu2". Là je peux modifier ma page et si je valide cela met à jour les données dans la base de donnée.
Le script fonctionne très bien sous php 5.3. Mais en 5.4 seule la suppression fonctionne, l'update échoue. Je pense que j’ai une écriture qui n’est plus compatible dans cette partie là du code, mais je ne trouve pas quoi. Aussi je me tourne vers vous, en espérant que vous pourrez m'aider.
Merci d'avance
Partager