1 km = 1024 m

|
Reprise du dernier message de la page précédente :
Oui ...
|
|
|
|
1 km = 1024 m

|
Bein ça correspond à : //ici configuration
|
|
|
ah, beh le problème c'est le } en plein milieu qui fait planter ( et qui sers à rien aussi )
|
1 km = 1024 m

|
Dans ma page postok, j'ai un :
Parse error: syntax error, unexpected $end in /home/lessims3onli/www/postok.php on line 184
Code : PHP 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | <?php
//Et un petit message
$nombreDeMessagesParPage = 15;
$nbr_post = $data2['topic_post']+1;
$page = ceil($nbr_post / $nombreDeMessagesParPage);
echo'<p>Votre message a bien été ajouté!<br /><br />
Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />
Cliquez <a href="./voirtopic.php?t='.$topic.'&page='.$page.'#p_'.$nouveaupost.'">ici</a> pour le voir</p>';
}
break;
default:
echo'<p>Cette action est impossible</p>';
} //Fin du Switch
} //Fin du else, le membre est connecté
?>
|
Je trouve pas l'erreur depuis 30 minutes et ça commence a me gonfler ! Help =p
|
|
|
Et le reste du code c'est quoi ?
|
I love this game !

|
Bonjour,
je tiens à dire que j'aime beaucoup ce tuto pour créer sois même son forum, surtout que ayant créer un jeu, je voulais que les personnes inscrites au jeu puissent participer au forum sans besoin de se re-inscrire.
Par contre, je n'ai pas finit, mais j'ai remarqué pas mal de failles, comme pouvoir créer un topic "invisible", ou pouvoir répondre à des sujets inexistants, je n'ai pas encore vu la suite, mais je pense avoir encore quelques petites surprises, moi qui aime bien voir tous les petits détails.
En tout cas, je félicite énormément le créateur pour avoir eu l'audace de créer un tuto complet et bien expliqué pour enfin pouvoir créer son propre forum.
Voici un petit screen de mon forum (attention, c'est la version 2 de mon site qui n'est pas encore sortit)
Secret (cliquez pour afficher)
Édité
le 16/02/2009 à 22:45:58
par seb65nba
|
1 km = 1024 m

|
Code : PHP 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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157 | <?php
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
//Voici les options
echo'<p>Bonjour <strong><a href="./voirprofil.php?m='.intval($_SESSION['id']).'&action=consulter">'.stripslashes(htmlspecialchars($_SESSION['pseudo'])).'</a></strong> ! Cliquez ici pour vous <a href ="./deconnexion.php">déconnecter</a>.</p>';
}
else
{
echo'<p>Venez rejoindre la communauté en vous <a href="./register.php">inscrivant</a> ou en vous <a href="./connection.php">connectant</a> !</p> ';
}
//On récupère la valeur de la variable action
$action = htmlspecialchars($_GET['action']);
// Si le membre n'est pas connecté, il est arivé ici par erreur
if (!isset($_SESSION['pseudo']))
{
echo'<p>Erreur : Vous n êtes plus connecté</p>';
}
else //Sinon on lance la suite
{
switch($action)
{
//Premier cas : nouveau topic
case "nouveautopic":
//On passe le message dans une série de fonction
$message = mysql_real_escape_string($_POST['message']);
$mess = mysql_real_escape_string($_POST['mess']);
//Pareil pour le titre
$titre = mysql_real_escape_string($_POST['titre']);
//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable f
$forum = (int) $_GET['f'];
$temps = time();
if (empty($message) || empty($titre))
{
echo'<p>Votre message ou votre titre est vide, cliquez <a href="./poster.php?action=nouveautopic&f='.$forum.'">ici</a> pour recommencer</p>';
}
else //Si jamais le message n'est pas vide
{
//On entre le topic dans la base de donnée en laissant
//le champ topic_last_post à 0
mysql_query("INSERT INTO forum_topic
(forum_id, topic_titre, topic_createur, topic_vu, topic_time, topic_genre, topic_last_post, topic_post)
VALUES('".$forum."', '".$titre."', '".intval($_SESSION['id'])."', '1', '".$temps."','".$mess."', '0', '0' )")
or die ("Un problème est survenu lors de l'envoi du message");
$nouveautopic = mysql_insert_id();
//Puis on entre le message
mysql_query("INSERT INTO forum_post
(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$nouveautopic."', '".$forum."')")
or die ("Un problème est survenu lors de l'envoi du message");
$nouveaupost = mysql_insert_id();
//Ici on update comme prévu la valeur de topic_last_post et de topic_first_post
mysql_query("UPDATE forum_topic
SET topic_last_post = '".$nouveaupost."',
topic_first_post = '".$nouveaupost."'
WHERE topic_id = '".$nouveautopic."'")
or die ("Un problème est survenu lors de l'envoi du message");
//Enfin on met à jour les tables forum_forum et forum_membres
mysql_query("UPDATE forum_forum
SET forum_post = forum_post + 1 ,
forum_topic = forum_topic + 1,
forum_last_post_id = '".$nouveaupost."'
WHERE forum_id = '".$forum."'")
or die ("Un problème est survenu lors de l'envoi du message");
mysql_query("UPDATE membres
SET membre_post = membre_post + 1
WHERE membre_id = '".intval($_SESSION['id'])."'")
or die ("Un problème est survenu lors de l'envoi du message");
//Et un petit message
echo'<p>Votre message a bien été ajouté!<br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />Cliquez <a href="./voirtopic.php?t='.$nouveautopic.'">ici</a> pour le voir</p>';
}
break; //Houra !
//Deuxième cas : répondre
case "repondre":
//On passe le message dans une série de fonction
$message = mysql_real_escape_string($_POST['message']);
//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable t
$topic = (int) $_GET['t'];
$temps = time();
if (empty($message))
{
echo'<p>Votre message est vide, cliquez <a href="./poster.php?action=repondre&t='.$topic.'">ici</a> pour recommencer</p>';
}
else //Sinon, si le message n'est pas vide
{
//On récupère l'id du forum
$requete2 = mysql_query('SELECT forum_id, topic_post
FROM forum_topic
WHERE topic_id = "'.$topic.'"');
$data2= mysql_fetch_assoc($requete2) or die ("Une erreur semble être survenue lors de l'envoi du message");
$forum = $data2['forum_id'];
//Puis on entre le message
mysql_query("INSERT INTO forum_post
(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$topic."', '".$forum."')")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");
$nouveaupost = mysql_insert_id();
//On change un peu la table forum_topic
mysql_query("UPDATE forum_topic
SET topic_post = topic_post + 1,
topic_last_post = '".$nouveaupost."'
WHERE topic_id ='".$topic."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");
//Puis même combat sur les 2 autres tables
mysql_query("UPDATE forum_forum
SET forum_post = forum_post + 1 ,
forum_last_post_id = '".$nouveaupost."'
WHERE forum_id = '".$forum."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");
mysql_query("UPDATE membres
SET membre_post = membre_post + 1
WHERE membre_id = '".intval($_SESSION['id'])."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");
//Et un petit message
$nombreDeMessagesParPage = 15;
$nbr_post = $data2['topic_post']+1;
$page = ceil($nbr_post / $nombreDeMessagesParPage);
echo'<p>Votre message a bien été ajouté!<br /><br />
Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />
Cliquez <a href="./voirtopic.php?t='.$topic.'&page='.$page.'#p_'.$nouveaupost.'">ici</a> pour le voir</p>';
}
break;
default:
echo'<p>Cette action est impossible</p>';
} //Fin du Switch
} //Fin du else, le membre est connecté
?>
</div>
</div>
<?php
include("./include/bas.php");
?>
|
Seb65nba, j'adore le design de la version 2 de ton site
|
Repent, the end's fucking nigh

|
Bonjour à tous, j'ai de légers problèmes sur mon forum (avatars capricieux et alignements bizarres), est-ce que quelqu'un pourrait m'aider à les corriger, j'en serais très reconnaissant! Merci d'avance!
Le site sur Resident Evil le plus complet du web [en construction] - Nous recherchons un codeur PHP! Cliquez ici!
|
I love this game !

|
Merci yassBoule 
Peut tu me dire ce qui cloche dans ton code ?
Je crois que j'ai déjà inserer ce code et il marche bien 
Je peux surement t'aider 
Pour Acid-Taz, j'ai regardé ton forum, je ne vois rien qui cloche
|
1 km = 1024 m

|
J'ai corrigé comme un grand.
Merci
|
Proud to be a zero

|
Bonjour a tous j'ai quelques difficultés avec le tutoriel du General Vans plus précisément avec ma page postok
Voici le code de ma page:
Code : PHP 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
139 | <?php
//Cette fonction doit être appelée avant tout code html
session_start();
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Poster";
include("debut.php");
?>
<body>
<div id="banniere"></div>
<div id="corps_forum">
<?php
//Maintenant, on se connecte à la base de données
include("identifiant.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
//On récupère la valeur de la variable action
$action = htmlspecialchars($_GET['action']);
// Si le membre n'est pas connecté, il est arivé ici par erreur
if (!isset($_SESSION['pseudo']))
{
echo'<p>Erreur : Vous n êtes plus connecté</p>';
}
else //Sinon on lance la suite
{
//On entre le topic dans la base de donnée en laissant
//le champ topic_last_post à 0
mysql_query("INSERT INTO forum_topic
(forum_id, topic_titre, topic_createur, topic_vu, topic_time, topic_genre, topic_last_post, topic_post)
VALUES('".$forum."', '".$titre."', '".intval($_SESSION['id'])."', '1', '".$temps."','".$mess."', '0', '0' )")
or die ("Un problème est survenu lors de l'envoi du message");
$nouveautopic = mysql_insert_id();
//Puis on entre le message
mysql_query("INSERT INTO forum_post
(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$nouveautopic."', '".$forum."')")
or die ("Un problème est survenu lors de l'envoi du message");
$nouveaupost = mysql_insert_id();
//Ici on update comme prévu la valeur de topic_last_post et de topic_first_post
mysql_query("UPDATE forum_topic
SET topic_last_post = '".$nouveaupost."',
topic_first_post = '".$nouveaupost."'
WHERE topic_id = '".$nouveautopic."'")
or die ("Un problème est survenu lors de l'envoi du message");
//Enfin on met à jour les tables forum_forum et forum_membres
mysql_query("UPDATE forum_forum
SET forum_post = forum_post + 1 ,
forum_topic = forum_topic + 1,
forum_last_post_id = '".$nouveaupost."'
WHERE forum_id = '".$forum."'")
or die ("Un problème est survenu lors de l'envoi du message");
mysql_query("UPDATE forum_membres
SET membre_post = membre_post + 1
WHERE membre_id = '".intval($_SESSION['id'])."'")
or die ("Un problème est survenu lors de l'envoi du message");
//Et un petit message
echo'<p>Votre message a bien été ajouté!<br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />Cliquez <a href="./voirtopic.php?t='.$nouveautopic.'">ici</a> pour le voir</p>';
}
break; //Houra !
//Deuxième cas : répondre
case "repondre":
//On passe le message dans une série de fonction
$message = mysql_real_escape_string($_POST['message']);
//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable t
$topic = (int) $_GET['t'];
$temps = time();
if (empty($message))
{
echo'<p>Votre message est vide, cliquez <a href="./poster.php?action=repondre&t='.$topic.'">ici</a> pour recommencer</p>';
}
else //Sinon, si le message n'est pas vide
{
//On récupère l'id du forum
$requete2 = mysql_query('SELECT forum_id, topic_post
FROM forum_topic
WHERE topic_id = "'.$topic.'"');
$data2= mysql_fetch_assoc($requete2) or die ("Une erreur semble être survenue lors de l'envoi du message");
$forum = $data2['forum_id'];
//Puis on entre le message
mysql_query("INSERT INTO forum_post
(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$topic."', '".$forum."')")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");
$nouveaupost = mysql_insert_id();
//On change un peu la table forum_topic
mysql_query("UPDATE forum_topic
SET topic_post = topic_post + 1,
topic_last_post = '".$nouveaupost."'
WHERE topic_id ='".$topic."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");
//Puis même combat sur les 2 autres tables
mysql_query("UPDATE forum_forum
SET forum_post = forum_post + 1 ,
forum_last_post_id = '".$nouveaupost."'
WHERE forum_id = '".$forum."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");
mysql_query("UPDATE forum_membres
SET membre_post = membre_post + 1
WHERE membre_id = '".intval($_SESSION['id'])."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");
//Et un petit message
$nombreDeMessagesParPage = 15;
$nbr_post = $data2['topic_post']+1;
$page = ceil($nbr_post / $nombreDeMessagesParPage);
echo'<p>Votre message a bien été ajouté!<br /><br />
Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />
Cliquez <a href="./voirtopic.php?t='.$topic.'&page='.$page.'#p_'.$nouveaupost.'">ici</a> pour le voir</p>';
}
break;
default;
echo'<p>Cette action est impossible</p>';
} //Fin du Switch
} //Fin du else, le membre est connecté
mysql_close();
?>
</div>
</body>
</html>
|
Et voici les erreurs marquées:
Notice: Undefined variable: forum in C:\wamp\www\tests\postok.php on line 32
Notice: Undefined variable: temps in C:\wamp\www\tests\postok.php on line 32
Notice: Undefined variable: mess in C:\wamp\www\tests\postok.php on line 32
Notice: Undefined variable: message in C:\wamp\www\tests\postok.php on line 40
Notice: Undefined variable: temps in C:\wamp\www\tests\postok.php on line 40
Notice: Undefined variable: forum in C:\wamp\www\tests\postok.php on line 40
Notice: Undefined variable: forum in C:\wamp\www\tests\postok.php on line 58
Votre message a bien été ajouté!
il est écrit que le message a été ajouté Mais rien ne s'enregistre.
|

Ville : Le havre
Pays : France métropolitaine
|
Problème avec tes variables $_POST, tu ne récupères pas les valeurs du formulaire.
|

|
J'ai cette erreur: Fatal error: Call to undefined function code() in /www/monsite/topic.php on line 229
Voici mon code:
Code : PHP 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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261 | <?php
//Cette fonction doit être appelée avant tout code html
session_start();
include("bob.html");
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Voir un topic";
include("bbcode.php"); //On verra plus tard ce qu'est ce fichier
?>
<head>
<script>
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.message;
input.focus();
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbfin.length);
}
else
{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.message.value += '' + img + '';
}
</script>
</head>
<body>
<div id="banniere"></div>
<?php
//Maintenant on se connecte à la base de données
mysql_connect("---", "---", "---");
mysql_select_db("---");
//On récupère la valeur de t
$topic = (int) $_GET['t'];
//A partir d'ici, on va compter le nombre de messages pour n'afficher que les 15 premiers
$requete1 = mysql_query("
SELECT topic_titre, topic_post, forum_topic.forum_id, topic_last_post,
forum_name, auth_view, auth_topic, auth_post
FROM forum_topic
LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id
WHERE topic_id = '".$topic."'") or die (mysql_error());
$data1 = mysql_fetch_assoc($requete1);
$totalDesMessages = $data1['topic_post'] + 1;
$nombreDeMessagesParPage = 15;
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
?>
<div id="corps_forum">
<a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $data1['forum_id'] ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./topic.php?t=<?php echo $topic ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a>
<?php
// A partir d'ici, comme d'habitude, on affiche des options pour le visiteur
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
//Voici les options
echo'<p>Vous êtes connecté en tant que
<a href="./voirprofil.php?m='.intval($_SESSION['id']).'&action=consulter">
'.stripslashes(htmlspecialchars($_SESSION['pseudo'])).'</a><br />
<a href="./voirprofil.php?action=modifier">Modifier mon profil</a><br />
<a href="./messagesprives.php">Consulter mes messages privés</a><br />
<a href ="./deconnexion.php">Se déconnecter</a><br /></p>';
}
// Sinon, on propose de se connecter ou de s'enregistrer
else
{
echo'<p>Vous n êtes pas connecté <br />
<a href="./connexion.php">Se connecter</a><br />
<a href="./register.php">Pas encore inscrit ?</a><br /></p>';
}
if (isset($_GET['page']))
{
$page = intval($_GET['page']);
}
else
{
$page = 1;
}
//On affiche les pages 1-2-3 etc...
echo '<p>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
if ($i == $page) //On affiche pas la page actuelle en lien
{
echo $i;
}
else
{
echo '<a href="topic.php?t='.$topic.'&page='.$i.'">
' . $i . '</a> ';
}
}
echo'</p>';
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
//On affiche le titre :
echo '<h1>'.stripslashes(htmlspecialchars($data1['topic_titre'])).'</h1>';
//On affiche l'image répondre
echo'<a href="./poster.php?action=repondre&t='.$topic.'">
<img src="./images/repondre.gif" alt="Répondre" title="Répondre à ce topic" /></a>';
//On affiche l'image nouveau topic
echo'<a href="./poster.php?action=nouveautopic&f='.$data1['forum_id'].'">
<img src="./images/nouveau.gif" alt="Nouveau topic" title="Poster un nouveau topic" /></a>';
//Enfin on commence la boucle !
?>
<?php
$requete2 = mysql_query('
SELECT post_id , post_createur , post_texte , post_time ,
membre_id, membre_pseudo, membre_inscrit, membre_avatar, membre_localisation, membre_post, membre_signature
FROM forum_post
LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur
WHERE topic_id ="'.$topic.'"
ORDER BY post_id
LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage . '')
or die(mysql_error());
//On vérifie que la requête a bien retourné des messages
if (mysql_num_rows($requete2) < 1)
{
echo'<p>Il n y a aucun post sur ce topic, vérifiez l url et reessayez</p>';
}
else
{
//Si tout roule on affiche notre tableau puis on remplit avec une boucle
?><table>
<tr>
<th class="vt_auteur"><strong>Auteurs</strong></th>
<th class="vt_mess"><strong>Messages</strong></th>
</tr>
<?php
while ($data2 = mysql_fetch_assoc($requete2))
{
//On commence à afficher le pseudo du créateur du message :
//On vérifie les droits du membre
//(partie du code commentée plus tard)
echo'<tr><td><strong>
<a href="./voirprofil.php?m='.$data2['membre_id'].'&action=consulter">
'.stripslashes(htmlspecialchars($data2['membre_pseudo'])).'</a></strong></td>';
/* Si on est l'auteur du message, on affiche des liens pour
Modérer celui-ci.
Les modérateurs pourront aussi le faire, il faudra donc revenir sur
ce code un peu plus tard ! */
if (intval($_SESSION['id']) == $data2['post_createur'])
{
echo'<td id=p_'.$data2['post_id'].'>Posté à '.date('H\hi \l\e d M y',$data2['post_time']).'
<a href="./poster.php?p='.$data2['post_id'].'&action=delete">
<img src="./images/supprimer.gif" alt="Supprimer"
title="Supprimer ce message" /></a>
<a href="./poster.php?p='.$data2['post_id'].'&action=edit">
<img src="./images/editer.gif" alt="Editer"
title="Editer ce message" /></a></td></tr>';
}
else
{
echo'<td>
Posté à '.date('H\hi \l\e d M y',$data2['post_time']).'
</td></tr>';
}
//Détails sur le membre qui a posté
echo'<tr><td>
<img src="./images/avatars/'.$data2['membre_avatar'].'" alt="" />
<br />Membre inscrit le '.date('d/m/Y',$data2['membre_inscrit']).'
<br />Messages : '.$data2['membre_post'].'<br />
Localisation : '.stripslashes(htmlspecialchars($data2['membre_localisation'])).'</td>';
//Message
echo'<td>'.code(nl2br(stripslashes(htmlspecialchars($data2['post_texte'])))).'
<br /><hr />'.code(nl2br(stripslashes(htmlspecialchars($data2['membre_signature'])))).'</td></tr>';
} //Fin de la boucle ! \o/
?>
</table>
<?php
echo '<p>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
if ($i == $page) //On affiche pas la page actuelle en lien
{
echo $i;
}
else
{
echo '<a href="topic.php?t='.$topic.'&page='.$i.'">
' . $i . '</a> ';
}
}
echo'</p>';
//On ajoute 1 au nombre de visites de ce topic
mysql_query('UPDATE forum_topic
SET topic_vu = topic_vu + 1 WHERE topic_id = '.$topic.'');
} //Fin du if qui vérifiait si le topic contenait au moins un message
mysql_close();
include("bob2.html");
?>
</div>
</body>
</html>
|
Merci... je ne comprends par l'erreur
|

Ville : Le havre
Pays : France métropolitaine
|
La fonction code() n'est pas déclaré dans ton fichier, vérifie que tu as bien inclue la fonction avant de l'utiliser pour afficher du texte.
|

|
Oh d'accord merci.
Mais dans le tutoriel, il n'y a aucun code pour la fonction code...
Excuse-moi pour ma noobitude
|

Ville : Le havre
Pays : France métropolitaine
|
Si en partie 1 chapitre 6 paragraphe 2 : Le BBCode
Édité
le 03/03/2009 à 20:44:58
par Zazou
|

|
Oh merci ca marche maintenant !
|
Proud to be a zero

|
Bonjour a tous j'ai un problème avec la partie autorisation d'accès de la partie admin.J'ai beau lire je ne sais pas où mettre ce qu'il nous donne, je suis totalement perdue:
Code : PHP 1
2
3
4
5
6
7
8
9
10 | <?php
function verif_auth($auth_necessaire)
{
//Dans un premier temps, on vérifie si le membre est connecté
if(isset($_SESSION['id'])) $auth = intval($_SESSION['level']);
else $auth = 1;
if ($auth_necessaire < $auth) return true;
else return false;
}
?>
|
et ca
Code : PHP 1
2
3
4
5
6
7
8
9
10 | <?php
if(verif_auth(1))
{
//Afficher le forum
}
else
{
//Laisser tomber :p
}
?>
|
voici ma page debut.php
Code : PHP 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 | <!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" xml:lang="fr" >
<head>
<?php
if (!empty($titre)) //Si le titre est indiqué, on l'affiche entre les balises <title>
{
echo '<title> '.$titre.' </title>';
}
else //Sinon, on écrit forum par défaut
{
echo '<title> Forum </title>';
}
?>
<?php
if($balises= true)
{
//Inclure le script
?>
<script language="javascript">
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.message;
input.focus();
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbfin.length);
}
else
{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.message.value += '' + img + '';
}
</script>
<?php
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
</head>
<?php
if (isset ($_COOKIE['pseudo']) && !isset ($_SESSION['pseudo']))
{
$_SESSION['pseudo'] = $_COOKIE['pseudo'];
/* On créé la variable de session à partir du cookie pour ne pas avoir à vérifier 2 fois sur les pages qu'un membre est connecté. */
}
if (isset ($_COOKIE['pseudo']) && isset ($_SESSION['pseudo']))
{
//On est connecté
}
if (!isset ($_COOKIE['pseudo']) && !isset ($_SESSION['pseudo']))
{
//On n'est pas connecté
}
?>
|
|

Ville : Mouscron
Pays : Belgique
|
Bonsoir à tous, j'ai un problème avec la page admin et forcément adminok du tutoriel.
La page s'affiche correctement, aucune erreur mais les modifications des forums ne se font pas.
Exemple:
Je crée un forum, dans une catégorie, puis j'essaie de modifie les autorisations et là rien...
La page m'affiche juste une liste déroulante vide (où normalement les forums doivent s'afficher).
Voici le code pour éditer un forum sur page admin:
Code : PHP 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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173 | case "edit":
//Edition d'un forum
echo'<h1>Edition d un forum</h1>';
if(!isset($_GET['e']))
{
echo'<p>Que voulez vous faire ?<br />
<a href="./admin.php?cat=forum&action=edit&e=editf">
Editer un forum</a><br />
<a href="./admin.php?cat=forum&action=edit&e=editc">
Editer une catégorie</a><br />
<a href="./admin.php?cat=forum&action=edit&e=ordref">
Changer l ordre des forums</a><br />
<a href="./admin.php?cat=forum&action=edit&e=ordrec">
Changer l ordre des catégories</a>
<br /></p>';
}
elseif($_GET['e'] == "editf")
{
//On affiche dans un premier temps la liste des forums
if(!isset($_POST['forum']))
{
$requete = mysql_query('SELECT forum_id, forum_name
FROM forum_forum ORDER BY forum_ordre DESC');
echo'<form method="post"
action="admin.php?cat=forum&action=edit&e=editf">';
echo'<p>Choisir un forum :</br /></h2>
<select name="forum">';
while($data = mysql_fetch_assoc($requete))
{
echo'<option value="'.$data['forum_id'].'">
'.stripslashes(htmlspecialchars($data['forum_name'])).'</option>';
}
echo'<input type="submit" value="Envoyer"></p></form>';
}
//Ensuite, on affiche les renseignements sur le forum choisi
else
{
$requete1 = mysql_query('SELECT forum_id, forum_name, forum_desc,
forum_cat_id
FROM forum_forum
WHERE forum_id = "'.$_POST['forum'].'"');
$data1 = mysql_fetch_assoc($requete1);
echo'<p>Edition du forum
<strong>'.stripslashes(htmlspecialchars($data1['forum_name'])).'</strong></p>';
echo'<form method="post"
action="adminok.php?cat=forum&action=edit&e=editf">
<label>Nom du forum : </label><input type="text" id="nom"
name="nom" value="'.stripslashes($data1['forum_name']).'" />
<br />
<label>Description :</label><textarea cols=40 rows=4 name="desc"
id="desc">'.$data1['forum_desc'].'</textarea><br /><br />';
//A partir d'ici, on boucle toutes les catégories,
//On affichera en premier celle du forum
$requete2 = mysql_query('SELECT cat_id, cat_nom
FROM forum_categorie ORDER BY cat_ordre DESC');
echo'<label>Déplacer le forum vers : </label>
<select name="depl">';
while($data2 = mysql_fetch_assoc($requete2))
{
if($data2['cat_id'] == $data1['forum_cat_id'])
{
echo'<option value="'.$data2['cat_id'].'"
selected="selected">'.stripslashes(htmlspecialchars($data2['cat_nom'])).'</option>';
}
else
{
echo'<option value="'.$data2['cat_id'].'">
'.$data2['cat_nom'].'</option>';
}
}
echo'</select><input type="hidden" name="forum_id"
value="'.$data1['forum_id'].'">';
echo'<p><input type="submit" value="Envoyer"></p></form>';
}
}
elseif($_GET['e'] == "editc")
{
//On commence par afficher la liste des catégories
if(!isset($_POST['cat']))
{
$requete = mysql_query('SELECT cat_id, cat_nom
FROM forum_categorie ORDER BY cat_ordre DESC');
echo'<form method="post"
action="admin.php?cat=forum&action=edit&e=editc">';
echo'<p>Choisir une catégorie :</br />
<select name="cat">';
while($data = mysql_fetch_assoc($requete))
{
echo'<option value="'.$data['cat_id'].'">
'.$data['cat_nom'].'</option>';
}
echo'<input type="submit" value="Envoyer"></p></form>';
}
//Puis le formulaire
else
{
$requete = mysql_query('SELECT cat_nom FROM forum_categorie
WHERE cat_id = "'.$_POST['cat'].'"');
$data = mysql_fetch_assoc($requete);
echo'<form method="post"
action="./adminok.php?cat=forum&action=edit&e=editc">';
echo'<label> Indiquez le nom de la catégorie :</label>
<input type="text" id="nom" name="nom"
value="'.stripslashes(htmlspecialchars($data['cat_nom'])).'" />
<br /><br />
<input type="hidden" name="cat" value="'.$_POST['cat'].'" />
<input type="submit" value="Envoyer" /></p></form>';
}
}
elseif($_GET['e'] == "ordref")
{
$categorie="";
$requete = mysql_query('SELECT forum_id, forum_name, forum_ordre,
forum_cat_id, cat_id, cat_nom
FROM forum_categorie
LEFT JOIN forum_forum ON cat_id = forum_cat_id
ORDER BY cat_ordre DESC');
echo'<form method="post"
action="adminok.php?cat=forum&action=edit&e=ordref">';
echo '<table>';
while($data = mysql_fetch_assoc($requete))
{
if( $categorie != $data['cat_id'] )
{
$categorie = $data['cat_id'];
echo'
<tr>
<th><strong>'.stripslashes(htmlspecialchars($data['cat_nom'])).'</strong></th>
<th><strong>Ordre</strong></th>
</tr>';
}
echo'<tr><td><a href="./voirforum.php?f='.$data['forum_id'].'">
'.$data['forum_name'].'</a></td>
<td><input type="text" value="'.$data['forum_ordre'].'"
name="'.$data['forum_id'].'" />
</td></tr>';
}
echo'</table>
<p><input type="submit" value="Envoyer" /></p></form>';
}
elseif($_GET['e'] == "ordrec")
{
$requete = mysql_query('SELECT cat_id, cat_nom, cat_ordre
FROM forum_categorie
ORDER BY cat_ordre DESC');
echo'<form method="post"
action="adminok.php?cat=forum&action=edit&e=ordrec">';
while($data = mysql_fetch_assoc($requete))
{
echo'<label>'.stripslashes(htmlspecialchars($data['cat_nom'])).' :</label>
<input type="text" value="'.$data['cat_ordre'].'"
name="'.$data['cat_id'].'" /><br /><br />';
}
echo '<input type="submit" value="Envoyer" /></form>';
}
break;
|
et la page adminok.php
Code : PHP 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 | case "edit":
echo'<h1>Edition d un forum</h1>';
if($_GET['e'] == "editf")
{
//Récupération d'informations
$titre = mysql_real_escape_string($_POST['nom']);
$desc = mysql_real_escape_string($_POST['desc']);
$cat = (int) $_POST['depl'];
//Vérification
$forum_existe = mysql_result(mysql_query("SELECT COUNT(*)
FROM forum_forum WHERE forum_id = '".$_POST['forum_id']."'"),0);
if ($forum_existe == 0)
exit("Le forum n existe pas</div></body></html>");
else
{
//Mise à jour
mysql_query("UPDATE forum_forum
SET forum_cat_id = '".$cat."', forum_name = '".$titre."',
forum_desc = '".$desc."'
WHERE forum_id = '".(int) $_POST['forum_id']."'");
//Message
echo'<p>Le forum a été modifié !<br />
Cliquez <a href="./admin.php">ici</a>
pour revenir à l administration</p>';
}
}
elseif($_GET['e'] == "editc")
{
//Récupération d'informations
$titre = mysql_real_escape_string($_POST['nom']);
//Vérification
$cat_existe = mysql_result(mysql_query("SELECT COUNT(*)
FROM forum_categorie WHERE cat_id = '".(int) $_POST['cat']."'"),0);
if ($cat_existe == 0) exit("La catégorie n existe pas");
else
{
//Mise à jour
mysql_query("UPDATE forum_categorie
SET cat_nom = '".$titre."'
WHERE cat_id = '".(int) $_POST['cat']."'");
//Message
echo'<p>La catégorie a été modifiée !<br />
Cliquez <a href="./admin.php">ici</a>
pour revenir à l administration</p>';
}
}
elseif($_GET['e'] == "ordref")
{
//On récupère les id et l'ordre de tous les forums
$requete_forum = mysql_query('SELECT forum_id, forum_ordre
FROM forum_forum');
//On boucle les résultats
while($data= mysql_fetch_assoc($requete_forum))
{
$ordre = (int) $_POST[$data['forum_id']];
//Si et seulement si l'ordre est différent de l'ancien, on le met à jour
if ($data['forum_ordre'] != $ordre)
{
mysql_query("UPDATE forum_forum SET forum_ordre = '".$ordre."'
WHERE forum_id = '".$data['forum_id']."'");
}
}
//Message
echo'<p>L ordre a été modifié !<br />
Cliquez <a href="./admin.php">ici</a>
pour revenir à l administration</p>';
}
elseif($_GET['e'] == "ordrec")
{
//On récupère les id et les ordres de toutes les catégories
$requete_cat = mysql_query('SELECT cat_id, cat_ordre
FROM forum_categorie');
//On boucle le tout
while($data = mysql_fetch_assoc($requete_cat))
{
$ordre = (int) $_POST[$data['cat_id']];
//On met à jour si l'ordre a changé
if($data['cat_ordre'] != $ordre)
{
mysql_query("UPDATE forum_categorie SET cat_ordre = '".$ordre."'
WHERE cat_id = '".$data['cat_id']."'");
}
}
echo'<p>L ordre a été modifié !<br />
Cliquez <a href="./admin.php">ici</a>
pour revenir à l administration</p>';
}
break;
|
J'espère que vous allez savoir m'aider. Un tout grand merci d'avance!
Soyez indulgents sur mes erreurs
ragewear
|
Tibi or not to be

|
As-tu essayé en faisant des echo dans le code aux endroits stratégiques ?
Voir si le cas était bien celui souhaité ?
|

Ville : Mouscron
Pays : Belgique
|
En fait, je n'ai pas essayé car tout marche jusqu'à la confirmation que le forum a été édité... mais rien n'y fait. Il n'y donc pas d'erreur dans le code?
|
Mais heu ! Chu pas un gars !

|
Tu peux ajouter or die ("Erreur tel_requete ".mysql_error()); pour afficher les éventuelles erreurs sql, à mon avis ça vient de là, ou bien c'est peut-être une variable qui n'est pas transmise...
Clicky Dév. nouvelle version en cours (local).
"Si tu t'mets en colère à chaque fois qu'je fais une connerie, j'ai plus qu'à m'arrêter d'faire des conneries alors !" ©Homer à Marj'.
(Un dictionnaire, c'est bien pour connaître l'orthographe des mots. Les apostrophes sont utiles. La ponctuation, holala la ponctuation ! Mais ! C'est une chose magnifique !... Pensez-y).
|

Ville : Mouscron
Pays : Belgique
|
Aucune erreur mysql... Par contre quand je regarde le code interprété par Firefox, il ne m'affiche pas :
Code : PHP1 | '.stripslashes(htmlspecialchars($data['forum_name'])).'
|
qui devrait afficher le nom des forums.
Comment régler mon problème?
Édité
le 12/03/2009 à 15:17:35
par ragewear
|
Nespresso ... What else ?

|
Bonjours à tous !
J'ai un petit problème au niveau de la modération:
Code : PHP 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 | <?php
if (verif_auth($data1['auth_modo']))
{
$requete = mysql_query('SELECT forum_id, forum_name FROM forum_forum WHERE forum_id <> '.$data1['forum_id'].'');
//Data 1 a été définie tout en haut de la page !
echo'<p>Déplacer vers :</p>
<form method="post" action=postok.php?action=deplacer&t='.$topic.'>
<select name="dest">';
while($data = mysql_fetch_assoc($requete))
{
echo'<option value='.$data['forum_id'].' id='.$data['forum_id'].'>'.$data['forum_name'].'</option>';
}
echo'
</select>
<input type="hidden" name="from" value='.$data1['forum_id'].'>
<input type="submit" name="submit" value="Envoyer" />
</form>';
$requete3 = mysql_query('SELECT topic_locked FROM forum_topic WHERE topic_id = '.$topic);
$data3 = mysql_fetch_assoc($requete3);
if ($data3['topic_locked'] == 1) // Topic verrouillé !
{
echo'<a href="./postok.php?action=unlock&t='.$topic.'">
<img src="./images/unlock.gif" alt="deverrouiller"
title="Déverrouiller ce sujet" /></a>'; //ici
}
else //Sinon le topic est déverrouillé !
{
echo'<a href="./postok.php?action=lock&t='.$topic.'">
<img src="./images/lock.gif" alt="verrouiller"
title="Verrouiller ce sujet" /></a>';
}
}
?>
|
L'erreur est à la ligne 223 (ligne 23 sur cette page) :
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /sites/kdt/www/voirtopic.php on line 223
Le Co-FPS Next-GEN !
Recrutement ouvert sur le SdZ et le site officiel le 23 février !
Site Officiel
|
|
|
Très bon tuto !
Sinon pour créer un forum phpbb3 simplement quand on n'a pas de connaissance technique, on peut passer par un plateforme d'hébergement gratuit de forum comme http://www.da-forum.com/
|
|
|
bonjour je voudrais savoir juste si quelqu'un à reuissit à mettre le systeme lu et non lu sur la page index car j'ai voulu prendre le code dans voirforum que j'ai reuissis et j'ai voulu le mettre sur mon index mais il s'est planté
donc si quelqu'un sais comment on le met où si vous avez un code juste pour que je puisse regardé le code car ce n'est pas pareil et c'est différent
donc si quelqu'un as déjà réalisé et que ça fonctionne votre systéme lu et non
sur index du forum
ça seras trés sympas de votre part
@ bientôt
|

|
Bonjour, voila j'ai suivie le tutoriel, tout marche à la perfection  ... sauf que y'a ce message qui s'affiche en haut du site
Citation : www.xcorporation.webou.net
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/xempire/public_html/forum/index.php:2) in /home/xempire/public_html/forum/index.php on line 4
Je fais quoi je cache le texte, ou vous avez une solution moins barare.
Édité
le 20/03/2009 à 20:21:22
par Xmonster
|

Ville : Laval
Pays : France métropolitaine
|
@Xmonster: C'est une question d'encodage de tes pages.
Essaies de passer toutes tes pages en UTF-8 (sans BOM).
|

|
|
Mais heu ! Chu pas un gars !

|
C'est vrai qu'il a servi ou inspiré pas mal de gens dont moi. Il apprend surtout plein de choses, merci beaucoup d'ailleurs.
Alors Félicitation M'sieur General Vans !
Clicky Dév. nouvelle version en cours (local).
"Si tu t'mets en colère à chaque fois qu'je fais une connerie, j'ai plus qu'à m'arrêter d'faire des conneries alors !" ©Homer à Marj'.
(Un dictionnaire, c'est bien pour connaître l'orthographe des mots. Les apostrophes sont utiles. La ponctuation, holala la ponctuation ! Mais ! C'est une chose magnifique !... Pensez-y).
|