problème de cours

Répondre
mmoussouni
mmoussouni
Déconnecté
LDM
Voici le code du cours sur la messagerie :

  1. <?php
  2. session_start();  
  3. // on vérifie toujours qu'il s'agit d'un membre qui est connecté
  4. if (!isset($_SESSION['login'])) { 
  5.    // si ce n'est pas le cas, on le redirige vers l'accueil
  6.    header ('Location: index.php'); 
  7.    exit();  
  8. }  
  9.  
  10. // on teste si le formulaire a bien été soumis
  11. if (isset($_POST['go']) && $_POST['go'] == 'Envoyer') { 
  12.    if (empty($_POST['destinataire']) || empty($_POST['titre']) || empty($_POST['message'])) { 
  13.       $erreur = 'Au moins un des champs est vide.'; 
  14.    } 
  15.    else { 
  16.       $base = mysql_connect ('serveur', 'login', 'password'); 
  17.       mysql_select_db ('nom_base', $base); 
  18.  
  19.       // si tout a été bien rempli, on insère le message dans notre table SQL
  20.       $sql = 'INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($_POST['titre']).'", "'.mysql_escape_string($_POST['message']).'")'; 
  21.       mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
  22.  
  23.       mysql_close(); 
  24.  
  25.       header('Location: membre.php'); 
  26.       exit(); 
  27.    }  
  28. }  
  29. ?>
  30.  
  31. <html>
  32. <head>
  33. <title>Espace membre</title>
  34. </head>
  35.  
  36. <body>
  37. <a href="membre.php">Retour à l'accueil</a><br /><br />
  38. Envoyer un message :<br /><br />
  39.  
  40. <?php
  41. $base = mysql_connect ('serveur', 'login', 'password');  
  42. mysql_select_db ('nom_base', $base);  
  43.  
  44. // on prépare une requete SQL selectionnant tous les login des membres du site en prenant soin de ne pas selectionner notre propre login, le tout, servant à alimenter le menu déroulant spécifiant le destinataire du message
  45. $sql = 'SELECT membre.login as nom_destinataire, membre.id as id_destinataire FROM membre WHERE id <> "'.$_SESSION['id'].'" ORDER BY login ASC';  
  46. // on lance notre requete SQL
  47. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
  48. $nb = mysql_num_rows ($req);  
  49.  
  50. if ($nb == 0) { 
  51.    // si aucun membre n'a été trouvé, on affiche tout simplement aucun formulaire
  52.    echo 'Vous êtes le seul membre inscrit.';  
  53. }  
  54. else { 
  55.    // si au moins un membre qui n'est pas nous même a été trouvé, on affiche le formulaire d'envoie de message
  56.    ?>
  57.    <form action="envoyer.php" method="post">
  58.    Pour :<select name="destinataire">
  59.    <?php
  60.    // on alimente le menu déroulant avec les login des différents membres du site
  61.    while ($data = mysql_fetch_array($req)) { 
  62.       echo '<option value="' , $data['id_destinataire'] , '">' , stripslashes(htmlentities(trim($data['nom_destinataire']))) , '</option>'; 
  63.    } 
  64.    ?>
  65.    </select><br />
  66.    Titre : <input type="text" name="titre" value="<?php if (isset($_POST['titre'])) echo stripslashes(htmlentities(trim($_POST['titre']))); ?>"><br />
  67.    Message : <textarea name="message"><?php if (isset($_POST['message'])) echo stripslashes(htmlentities(trim($_POST['message']))); ?></textarea><br />
  68.    <input type="submit" name="go" value="Envoyer">
  69.    </form>
  70.    <?php
  71. }  
  72. mysql_free_result($req);  
  73. mysql_close();  
  74. ?>
  75. </select>
  76.  
  77. <br /><br /><a href="deconnexion.php">Déconnexion</a>
  78. <?php
  79. // si une erreur est survenue lors de la soumission du formulaire, on l'affiche
  80. if (isset($erreur)) echo '<br /><br />',$erreur;  
  81. ?>
  82. </body>
  83. </html> 


Problème :
Parse error: syntax error, unexpected '?' in /data/members/free/multimania/fr/m/m/o/mmoussouniphp/htdocs/index.php on line 49

Tout le monde a le droit de faire des erreur!!!

Merci d'avance tout de même.
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
A quelle ligne correspond la ligne 49 ?
mmoussouni
mmoussouni
Déconnecté
LDM
Si l'on en croit ton BB-code, la ligne est vide. Le serveur ne puce pas mes lignes et le message d'erreur m'indique juste le numéro de ligne. Je ne sais donc pas précisément laquelle c'est. Je sais que c'est souvent au-dessus mais... où??? avec quelques adaptations type : include 'connect_bdd.php'; c'est le code du cours.
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ben ton erreur, c'est une erreur de syntaxe.
Or a priori, le cours n'en comporte pas.

Donc pas évident de t'aider si tu ne nous donnes pas la ligne à laquelle correspond la ligne 49.

Tu n'as pas un éditeur de texte qui affiche les numéros de lignes ?
Si oui, repere la 49 (et pas celle du BB-Code).
mmoussouni
mmoussouni
Déconnecté
LDM
C bon j'ai trouvé. Si l'on regarde la ligne (BB-code) 47, on lance une requete sql.

Ligne 41-42, je me connecte à ma db et c'est pas étonnant que ça marche pas.

Par contre, je comprend pas pourquoi il m'indique erreur de SYNTAXE comme quoi il y a un ? inattendu... Surtout qu'il n'y en a pas dans les parages!!!

Merci tout de même pour ton attention : veillez jusqu'à minuit tous les soirs smiley (ou presque) pour nous répondre, ça, c'est être un bon webmaster!! smileysmiley
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique