Le 28/06/2017 à 08:05

De l'aide j'ai coder un forum en local ; j'affichait facilement les infos contenus dans une des table de ma bd dans l'accueil du forum.

Le problème est le suivant:
une fois tous les fichier uploader sur raidghost, mon fichier php n'arrive plus a recupérer ses information et les affichés.
j'ai créer une base de données sur raidghost, un utilisateur, et tous les tables de ma base de données.
Si quelqu'un peu m'aider je serai très satisfait sa fait deja des heure que je cherche une solution sans trouvé. merci

Le 28/06/2017 à 11:09

Bonjour,

Les seules choses qui changent sont les identifiants de connexion à MySQL. Vous devez utilisez ceux qui vous avez rentré sur cette page.
Cette signature utilise du bbcode. Vous pouvez apprendre ici !

Le 28/06/2017 à 18:26

merci,
voici les ligne du code php de connexion ala base de données.

$db = new PDO('mysql:host=localhost; n3dmo_ex', 'n3dmo_ex_elvis', 'Santy1sava@');
if ($db) {
echo "vous avez plainement accès a la base de donnée";
} else {
echo "il ya une erreur dans votre code php de connexion a la bse de données";
}
le if s'exécute bien et me renvoi le message " vous avez plainement accès a la base de donnée "

Le 28/06/2017 à 18:33

je veux affiché les information contenus dans les tables forum_categorie et forum_forum afin de les affichés a l'accueil de mon forum.

voisi le code php qui marche supper bien en local:

<?php
echo '<tr><td></td><td class="tifo"> LE FORUM DES PROFESIONNELS DE LA 3D </td></tr>';
//Début de la boucle
while($data = $query->fetch()){
//On affiche chaque catégorie
if( $categorie != $data['cat_id'] ){
//Si c'est une nouvelle catégorie on l'affiche
$categorie = $data['cat_id'];
?>
<br />
<tr>
<th></th>
<th class="titre"><strong> <?php echo ($data['cat_nom']); ?></strong></th>
<th class="nombremessages"><strong>Sujets</strong></th>
<th class="nombresujets"><strong>Messages</strong></th>
<th class="derniermessage"><strong>Dernier message</strong></th>
</tr>
<?php
}
// Ce super echo de la mort affiche tous
// les forums en détail : description, nombre de réponses etc...

echo'<tr><td><img src="images_forum/topic_non_lu.gif" alt="go"></td>
<td class="titre">
<strong>
<a href="./voirforum.php?f='.$data['forum_id'].'">'.($data['forum_name']).'</a>
</strong>
<br />'.nl2br(($data['forum_desc'])).'
</td>

<td class="nombresujets">'.$data['forum_topic'].'</td>
<td class="nombremessages">'.$data['forum_post'].'</td>';

// Deux cas possibles :
// Soit il y a un nouveau message, soit le forum est vide

if (!empty($data['forum_post'])){
//Selection dernier message

$nombreDeMessagesParPage = 15;
$nbr_post = $data['topic_post'] +1;
$page = ceil($nbr_post / $nombreDeMessagesParPage);

echo'<td class="derniermessage">'.date('H\hi \l\e d/M/Y',$data['post_time']).'<br />
<a href="./voirprofil.php? m='.($data['membre_id']).'&amp;action=consulter">'.'</a>'.'
<a href="./voirtopic.php? t='.$data['topic_id'].'&amp;page='.$page.'#p_'.$data['post_id'].'"><img src="images_forum/topic_non_lu.gif" alt="go"></a></td></tr>';
}
else
{
echo'<td class="nombremessages">Pas de message</td></tr>';
}
//Cette variable stock le nombre de messages, on la met à jour
$totaldesmessages += $data['forum_post'];
//On ferme notre boucle et nos balises
}
$query->CloseCursor();
echo '</table></div>';
?>

merci pour votre attention

Le 28/06/2017 à 19:13

avant le code si_dessus il y a d'abord un select:

$query=$db->prepare('SELECT cat_id, cat_nom,
forum_forum.forum_id, forum_name, forum_desc, forum_post,
forum_topic, auth_view, forum_topic.topic_id,
forum_topic.topic_post, post_id, post_time, post_createur,
membre_pseudo,
membre_id
FROM forum_categorie
LEFT JOIN forum_forum ON forum_categorie.cat_id =
forum_forum.forum_cat_id
LEFT JOIN forum_post ON forum_post.post_id =
forum_forum.forum_last_post_id
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN forum_membres ON forum_membres.membre_id =
forum_post.post_createur
WHERE auth_view <= :lvl
ORDER BY cat_ordre, forum_ordre DESC');
$query->bindValue(':lvl',$lvl,PDO::PARAM_INT);
$query->execute();
?>

mais subitement ce code ne fait pas le travail quand le site web est en ligne. En local j'utilise XAMPP et le code marche a merveille.
De l'aide sa fait déjà des jours que je n'arrive pas a résoudre se problème !

Le 28/06/2017 à 19:39

Bon alors déjà c'était pas super malin de laisser le mot de passe de connexion à la base dans le code...
Maintenant là comme ça je ne vois pas d'erreur. Que revoie la requête SQL ? Une idée serait de la rentrer (en hardcodant le paramètre "lvl") dans phpMyAdmin pour voir si elle se comporte de la bonne manière. (Voir l'onglet "SQL" de phpMyAdmin qui permet de rentrer une requête)

Si l'erreur vient de la requête, comment avez-vous créé la base de donnée ? A la main ou en l'important dans phpMyAdmin ?

Si l'erreur ne vient pas de la requête, alors il faut afficher le contenu de l'array $data ("print_r" par exemple) et regarder les logs d'erreurs (disponible dans vos paramètres de site).
Cette signature utilise du bbcode. Vous pouvez apprendre ici !

Le 28/06/2017 à 21:27

l'erreur vient apparemment de la requête sql voici le log que sa me renvoi:

Erreur
Analyse statique :

3 erreurs trouvées lors de l'analyse.

Caractère inattendu. (near ":" at position 563)
Un guillemet ' était attendu. (near "" at position 620)
Jeton inattendu. (near "'); LIMIT 0, 25" at position 605)
Requête SQL : Documentation

SELECT cat_id, cat_nom, forum_forum.forum_id, forum_name, forum_desc, forum_post, forum_topic, auth_view, forum_topic.topic_id, forum_topic.topic_post, post_id, post_time, post_createur, membre_pseudo, membre_id FROM forum_categorie LEFT JOIN forum_forum ON forum_categorie.cat_id = forum_forum.forum_cat_id LEFT JOIN forum_post ON forum_post.post_id = forum_forum.forum_last_post_id LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur WHERE auth_view <= :lvl ORDER BY cat_ordre, forum_ordre DESC'); LIMIT 0, 25

MySQL a répondu: Documentation

#1064 - Erreur de syntaxe près de ':lvl
ORDER BY cat_ordre, forum_ordre DESC'); LIMIT 0, 25' à la ligne 15

Le 28/06/2017 à 21:32

j'ai crée la base de donné a la main lors de la création de mon espace dans le site. les tables ont été crées par des requêtes sql. dans phpmyadmin

Le 28/06/2017 à 23:29

Enlevez les : devant "lvl"
Cette signature utilise du bbcode. Vous pouvez apprendre ici !

Le 29/06/2017 à 06:49

Bonjour,
stp envoi moi le lien pour créer un compte ou pour télécharger