Unexpected '{' msytérieux

Unexpected '{' msytérieux - PHP - Programmation

Marsh Posté le 23-04-2008 à 19:04:02    

Bonjour,

 

j'étais à la recherche d'un bug tracker web, j'ai choisi The bug genie qui, même s'il n'est pas le mieux codé, correspond à mes attentes en terme de fonctionnalités.
Y'a quelques bugs dans le code source téléchargé notamment dans le fichier mymsgs.php où j'ai cette erreur :
Parse error: syntax error, unexpected '}' in C:\Program Files\wamp\www\bugs\mymsgs.php on line 268

 

Alors oui, j'ai vérifié et revérifié qu'il n'y ait pas d'accolades en trop ou en moins et j'ai corrigé les petites erreurs bêtes qu'on peut trouver ici et là (genre les oublis de points virgules [:dawa]) donc normalement spa une faute con (ou alors j'ai de la merde dans les yeux  :D)

 

Voilà ledit code :

Code :
  1. <?php
  2.  
  3.     # include "include/cookiesupport.inc.php";
  4.     include "include/checkcookie.inc.php";
  5.    $mymsgsStrings = "true";
  6.    $_GET['sendmsg'] =(isset($_GET['sendmsg'])) ? $_GET['sendmsg'] : "";
  7.    $_GET['uid'] =(isset($_GET['uid'])) ? $_GET['uid'] : "";
  8.    $_GET['reply_msg'] =(isset($_GET['reply_msg'])) ? $_GET['reply_msg'] : "";
  9.    $_GET['read_msg'] =(isset($_GET['read_msg'])) ? $_GET['read_msg'] : "";
  10.  
  11.  
  12.    if ((isset($_POST['sendmsg']) && $_POST['sendmsg'] == "true" ) || (isset($_GET['sendmsg']) && $_GET['sendmsg'] == "true" ) || (isset($_GET['reply_msg']) && $_GET['reply_msg'] == "true" ))
  13.    {
  14.        $dontDrawLeft = "true";
  15.        $hideMenu = "true";
  16.    }
  17.     $page = "view_bug";
  18.     $incEditor = "truly";
  19.     if (!isset($link)) { include "include/constants.inc.php"; }
  20.     $indexStrings = "true";
  21.    $BUGSuser = loginCheck();
  22.  
  23.    $BUGSuser['isLoggedin'];
  24.     include "header.htm";
  25. ?>
  26.  
  27. <!-- Contents begin -->
  28. <?
  29. if ($BUGSuser['isLoggedin'] != "truly" ):
  30.     print "<br><b>" ,$s022p007, "</b>";
  31.     print "<BR><BR><BR><BR>";
  32.     include "include/footer.inc.php";
  33.     exit;
  34. endif;
  35. if (isset($_POST['sendmsg']) && $_POST['sendmsg'] == "true" )
  36. {
  37.    $the_message = $_POST['message'];
  38.    $title = $_POST['title'];
  39.  
  40.    if (is_numeric($_POST['msg_to']))
  41.    {
  42.        $msg_to = $_POST['msg_to'];
  43.    }
  44.    else
  45.    {
  46.        $sql = "select id from userstable where uname='" . $_POST['msg_to'] . "' limit 1";
  47.        $res = bugs_mysql_query($sql, $link);
  48.        if (mysql_num_rows($res) == 1)
  49.        {
  50.            $row = mysql_fetch_array($res);
  51.            $msg_to = $row['id'];
  52.        }
  53.        else
  54.        {
  55.            $msg_to = 0;
  56.        }
  57.    }
  58.  
  59.    if ($title != "" )
  60.    {
  61.  
  62.        $msg_from = $_SESSION['login_uid'];
  63.        $now = mktime();
  64.        if ($msg_to != 0)
  65.        {
  66.            $sql = "insert into pmtable values ('','$now','$msg_to','$msg_from','$title','$the_message','0')";
  67.            $res = bugs_mysql_query($sql, $link);
  68.            print "<br><b>" ,$s029p001, "</b><br><br>" ,$s029p002;
  69.            sendEmailNotification($msg_to, "message" );
  70.        }
  71.        else
  72.        {
  73.            print "<br><b>" ,$s029p003a, "</b><br>" ,$s029p004, "</b><br><br><br><br><br>";
  74.        }
  75.  
  76.    }
  77.    else
  78.    {
  79.        print "<br><b>" ,$s029p003b, "</b><br>" ,$s029p004, "</b><br><br><br><br><br>";
  80.    }
  81. }
  82. else
  83. {
  84.    if ((!isset($_POST['sendmsg']) || $_POST['sendmsg'] == "" ) && (!isset($_GET['sendmsg']) || $_GET['sendmsg'] == "" ) && (!isset($_GET['reply_msg']) || $_GET['reply_msg'] == "" ))
  85.    {
  86.        ?>
  87.        <div class="mainhead">
  88.            <?php print $s029p005; ?>
  89.            </div>
  90.            <div class="mainbox"><br>
  91.            <table class="midshade" border="0" cellpadding="0" cellspacing="0" style="width: 100%; table-layout: fixed; padding: 5px;">
  92.                <tr>
  93.                    <td style="width: 20px;"><img height=16 width=16 border="0" valign="middle" src="themes/<?php print $theme; ?>/16x16/actions/edit.png"></td>
  94.                    <td style="font-weight: none; width: 150px;"><a href="javascript:void(0);" onclick="javascript:showHelp('mymsgs.php?sendmsg=true')"><?php print $s029p006; ?></a></td>
  95.                    <td style="width: auto;">&nbsp;</td>
  96.                    <td style="width: 20px;"><img height=16 width=16 border="0" valign="middle" src="themes/<?php print $theme; ?>/16x16/actions/reload.png"></td>
  97.                    <td style="font-weight: none; width: 80px;"><a href="mymsgs.php"><?php print $s029p007; ?></a></td>
  98.                </tr>
  99.            </table>
  100.            <br>
  101.            <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; table-layout: auto;">
  102.            <tr><td style="width: 350px;" valign="top"><div style="width: 350px; height: 400px; overflow: auto;">
  103.            <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; table-layout: fixed;">
  104.                <?php
  105.                    if (isset($_GET['read_msg']) && is_numeric($_GET['read_msg']))
  106.                    {
  107.                        $sql = "select message, msg_to from pmtable where id='" . $_GET['read_msg'] ."' and msg_to='" . $_SESSION['login_uid'] . "'";
  108.                        $res = bugs_mysql_query($sql, $link);
  109.                        $row = mysql_fetch_array($res);
  110.                        $pm_msg = $row['message'];
  111.                        if ($row['msg_to'] == $_SESSION['login_uid'])
  112.                        {
  113.                            $sql = "update pmtable set msg_read='1' where id='" . $_GET['read_msg'] . "' limit 1";
  114.                            $res = bugs_mysql_query($sql, $link);
  115.                        }
  116.                    }
  117.                    if (isset($_GET['unread_msg']) && is_numeric($_GET['msg_id']))
  118.                    {
  119.                        $sql = "select msg_to from pmtable where id='" . $_GET['msg_id'] ."' and msg_to='" . $_SESSION['login_uid'] . "'";
  120.                        $res = bugs_mysql_query($sql, $link);
  121.                        $row = mysql_fetch_array($res);
  122.                        if ($row['msg_to'] == $_SESSION['login_uid'])
  123.                        {
  124.                            $sql = "update pmtable set msg_read='0' where id='" . $_GET['msg_id'] . "' limit 1";
  125.                            $res = bugs_mysql_query($sql, $link);
  126.                        }
  127.                    }
  128.                    if (isset($_GET['delete_msg']) && is_numeric($_GET['msg_id']))
  129.                    {
  130.                        $sql = "select msg_to from pmtable where id='" . $_GET['msg_id'] ."' and msg_to='" . $_SESSION['login_uid'] . "'";
  131.                        $res = bugs_mysql_query($sql, $link);
  132.                        $row = mysql_fetch_array($res);
  133.                        if ($row['msg_to'] == $_SESSION['login_uid'])
  134.                        {
  135.                            $sql = "delete from pmtable where id='" . $_GET['msg_id'] . "' limit 1";
  136.                            $res = bugs_mysql_query($sql, $link);
  137.                        }
  138.                    }
  139.                    $sql = "select pmtable.*, userstable.uname from pmtable LEFT JOIN userstable ON pmtable.msg_from=userstable.id where msg_to='" . $_SESSION['login_uid'] . "' order by msg_read asc, id desc";
  140.                    $res = bugs_mysql_query($sql, $link);
  141.                    $msg_cc = 0;
  142.                    while ($row = mysql_fetch_array($res))
  143.                    {
  144.                        if (strlen($row['title']) >= 40)
  145.                        {
  146.                            $row['title'] = substr($row['title'], 0, 40) . "...";
  147.                        }
  148.                        ?>
  149.                        <tr>
  150.                            <td <?php
  151.                            if (isset($_GET['read_msg']) && is_numeric($_GET['read_msg']))
  152.                            {
  153.                                if ($row['id'] == $_GET['read_msg'])
  154.                                {
  155.                                    print "class=\"midshade\" ";
  156.                                }
  157.                            }
  158.                            ?>style="border: 0px; width: 20px; padding: 8px 2px 0px;"><img height=16 width=16 border="0" valign="middle" src="themes/<?php print $theme; ?>/16x16/actions/<?php
  159.                            if ($row['msg_read'] == 0)
  160.                            {
  161.                                print "mail_generic";
  162.                            }
  163.                            else
  164.                            {
  165.                                print "mail_read";
  166.                            }
  167.                            ?>.png"></td>
  168.                            <td <?php
  169.                            if (isset($_GET['read_msg']) && is_numeric($_GET['read_msg']))
  170.                            {
  171.                                if ($row['id'] == $_GET['read_msg'])
  172.                                {
  173.                                    print "class=\"midshade\" ";
  174.                                }
  175.                            }
  176.                            ?>style="border: 0px; padding: 8px 2px 0px; font-weight: none;"><?php
  177.                            if ($row['msg_read'] == 0)
  178.                            {
  179.                                print "<a href=\"mymsgs.php?read_msg=" . $row['id'] . "\"><b>" . htmlspecialchars($row['title']) . "</b></a>";
  180.                            }
  181.                            else
  182.                            {
  183.                                print "<a href=\"mymsgs.php?read_msg=" . $row['id'] . "\">" . htmlspecialchars($row['title']) . "</a>";
  184.                            }
  185.                            ?></td>
  186.                        </tr>
  187.                        <tr>
  188.                            <td colspan="2" <?php
  189.                            if (isset($_GET['read_msg']) && is_numeric($_GET['read_msg']))
  190.                            {
  191.                                if ($row['id'] == $_GET['read_msg'])
  192.                                {
  193.                                    print "class=\"midshadelight\" ";
  194.                                }
  195.                                else
  196.                                {
  197.                                    print "class=\"lightshadelight\" ";
  198.                                }
  199.                            }
  200.                            else
  201.                            {
  202.                                print "class=\"lightshadelight\" ";
  203.                            }
  204.                            ?>style="border: 0px; width: auto; font-size: 10px;"><b><?php print $s029p009a . "</b>" . $row['uname'] . $s029p009b . "<b>" . $s029p009c; ?></b><?php
  205.                                print bugDateForm($row['sent'], "long" );
  206.                            ?></td>
  207.                        </tr>
  208.                        <?php
  209.                        $msg_cc++;
  210.                    }
  211.                    if ($msg_cc == 0)
  212.                    {
  213.                        ?>
  214.                        <tr>
  215.                            <td style="padding: 4px;"><?php print $s029p010; ?></td>
  216.                        </tr>
  217.                        <?php
  218.                    }
  219.                    ?>
  220.            </table></div></td>
  221.            <td valign="top" style="padding: 3px;"><div class="leftbox" style="width: auto; height: 350px; overflow: auto;"><?php
  222.                if ($_GET['read_msg'] == "" )
  223.                {
  224.                    if ($msg_cc >= 1)
  225.                    {
  226.                        print $s029p011;
  227.                    }
  228.                }
  229.                else
  230.                {
  231.                    print nl2br(bbDecode($pm_msg));
  232.                }
  233.            ?></div><?php
  234.            if (isset($_GET['read_msg']))
  235.            {
  236.                ?>
  237.                <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; table-layout: fixed;">
  238.                    <tr>
  239.                        <td style="width: 20px; padding: 2px;"><img height=16 width=16 border="0" valign="middle" src="themes/<?php print $theme; ?>/16x16/actions/edit.png"></td>
  240.                        <td style="padding: 1px; font-weight: none; width: 60px;"><a href="javascript:void(0);" width=16 height=16 onclick="javascript:showHelp('mymsgs.php?reply_msg=true&msg_id=<?php print $_GET['read_msg']; ?>')"><?php print $s029p012; ?></a></td>
  241.                        <td style="width: 20px; padding: 2px;"><img height=16 width=16 border="0" valign="middle" src="themes/<?php print $theme; ?>/16x16/actions/editdelete.png"></td>
  242.                        <td style="padding: 1px; font-weight: none; width: 60px;"><a href="javascript:void(0);" onclick="showHide('delete_box');"><?php print $s029p013; ?></a><br>
  243.                        <div class="leftbox" style="background-color: #FFF; position: absolute; width: 170px; display: none;" id="delete_box">
  244.                        <table border="0" cellpadding="0" cellspacing="0">
  245.                        <tr><td style="padding: 3px; width: 20px;"><img height=16 width=16 border="0" valign="middle" title="[?]" src="themes/<?php print $theme; ?>/16x16/actions/info.png"></td><td style="padding: 3px;"><?php print $s029p014; ?><br><a href="mymsgs.php?delete_msg=true&msg_id=<?php print $_GET['read_msg']; ?>" onclick="showHide('delete_box')"><?php
  246.                        print strtoupper($s001p004);
  247.                        ?></a><b>&nbsp;|&nbsp;</b><a href="javascript:void(0);" onclick="showHide('delete_box');"><?php
  248.                        print strtoupper($s001p005);
  249.                        ?></a></td></tr>
  250.                        </table>
  251.                        </div>
  252.  
  253.                        </td>
  254.                        <td style="width: 20px; padding: 2px;"><img height=16 width=16 border="0" valign="middle" src="themes/<?php print $theme; ?>/16x16/actions/edit.png"></td>
  255.                        <td style="padding: 1px; font-weight: none; width: 60px;"><a href="mymsgs.php"><?php print $s029p015; ?></a></td>
  256.                        <td style="width: 20px; padding: 2px;"><img height=16 width=16 border="0" valign="middle" src="themes/<?php print $theme; ?>/16x16/actions/mail_generic.png"></td>
  257.                        <td style="padding: 2px; font-weight: none;"><a href="mymsgs.php?unread_msg=true&msg_id=<?php print $_GET['read_msg']; ?>"><?php print $s029p016; ?></a></td>
  258.                    </tr>
  259.                </table>
  260.                <?php
  261.            }
  262.            ?>
  263.            </td>
  264.            </table>
  265.            </div>
  266.        </div>
  267.        <?php        
  268.    }
  269.    else
  270.    {
  271.        ?>
  272.        <div class="mainhead" style="width: auto; margin-right: 10px;"><?php
  273.            if ($_GET['sendmsg'] == "true" )
  274.            {
  275.                print $s029p017;
  276.                if ($_GET['uid'] != "" )
  277.                {
  278.                    $sql = "select uname from userstable where id='" . $_GET['uid'] . "'";
  279.                    $res = bugs_mysql_query($sql, $link);
  280.                    $row = mysql_fetch_array($res);
  281.                }
  282.            }
  283.            elseif ($_GET['reply_msg'] == "true" )
  284.            {
  285.                $sql = "select pmtable.msg_from, pmtable.title, userstable.uname from pmtable LEFT JOIN userstable ON pmtable.msg_from=userstable.id where pmtable.id='" . $_GET['msg_id'] . "'";
  286.                $res = bugs_mysql_query($sql, $link);
  287.                $row = mysql_fetch_array($res);
  288.                $row['title'] = htmlspecialchars($row['title']);
  289.                print $s029p018;
  290.            }
  291.        ?></div>
  292.            <div class="mainbox" style="width: auto; margin-right: 10px; padding: 10px;">
  293.            <form name="theForm" id="theForm" action="mymsgs.php" method="POST">
  294.            <input type="hidden" name="sendmsg" value="true">
  295.            <table border="0" cellpadding="0" cellspacing="0" style="width: auto; height: auto; table-layout: fixed;">
  296.                <tr>
  297.                    <td style="width: 100px; padding: 5px;"><b><?php print $s029p019; ?></b></td>
  298.                    <td style="padding: 2px;"><?php
  299.                    if ($_GET['sendmsg'] == "true" )
  300.                    {
  301.                        if ($_GET['uid'] != "" )
  302.                        {
  303.                            print "<input type=\"hidden\" name=\"msg_to\" value=\"" . $row['uname'] . "\">";
  304.                            print $row['uname'];
  305.                        }
  306.                        else
  307.                        {
  308.                            print "<input type=\"text\" style=\"width: 150px;\" name=\"msg_to\">";
  309.                        }
  310.                    }
  311.                    else
  312.                    {
  313.                        print "<input type=\"hidden\" name=\"msg_to\" value=\"" . $row['msg_from'] . "\">";
  314.                        print $row['uname'];
  315.                    }
  316.                    ?></td>
  317.                </tr>
  318.                <tr>
  319.                    <td style="width: 100px; padding: 5px;"><b><?php print $s029p020; ?></b></td>
  320.                    <td style="padding: 2px;"><input type="text" style="width: 420px;" name="title"<?php
  321.                    if ($_GET['reply_msg'] == "true" )
  322.                    {
  323.                        print " value=\"RE: " . $row['title'] . "\"";
  324.                    }
  325.                    ?>></td>
  326.                </tr>
  327.                <tr>
  328.                    <td style="width: 100px; padding: 5px;" valign="top"><b><?php print $s029p021; ?></b></td>
  329.                    <td style="padding: 2px;">
  330.                     <textarea name="message" id="comm_comment" style="width: 420px; height: 250px;" rows="7" onfocus='storeCaret(this);' onselect='storeCaret(this);' onclick='storeCaret(this);' onkeyup='storeCaret(this);'></textarea></td>
  331.                </tr>
  332.                <tr>
  333.                    <td>&nbsp;</td>
  334.                     <td style="text-align: left;">
  335.                     <?php
  336.                         insertBBimgs("comm_comment" );
  337.                     ?>
  338.                 </tr>
  339.                <tr><td colspan="2" style="padding: 5px;" align="right" valign="middle"><?php
  340.                 print "<input type=\"submit\" value=\"" ,$s029p022, "\" style=\"font-weight: bold;\" onclick='bbstyle(-1)'>";
  341.                 ?></td></tr>
  342.            </table>
  343.            </form>
  344.            </div>
  345.  
  346.        <?php
  347.    }
  348. }
  349.    print "</div>";
  350.    include "include/footer.inc.php";
  351. ?>
 

J'ai beau chercher, je ne vois pas où ça coince donc je poste ici au cas où ça fasse tilter quelqu'un.

 

Merci d'avance  :jap:


Message édité par Tristou le 23-04-2008 à 19:05:29

---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
Reply

Marsh Posté le 23-04-2008 à 19:04:02   

Reply

Marsh Posté le 23-04-2008 à 22:01:19    

C'est peut-être liés aux lignes 29 à 34.

Reply

Marsh Posté le 23-04-2008 à 22:07:06    

Nope, ça ne change rien, c'est juste une autre façon de faire une condition avec if/else ;)


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
Reply

Marsh Posté le 23-04-2008 à 22:45:13    

Déjà, depuis quand print prend plusieurs arguments ? :o


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 23-04-2008 à 22:57:37    

Euh ça je peux pas garantir la qualité du code, c'est pas de moi [:cosmoschtroumpf].
Tu fais allusion à quelle partie du code ?


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
Reply

Marsh Posté le 23-04-2008 à 23:06:09    

Ben là où y a du print, genre la ligne 30. Avec echo ok, mais j'ai jamais vu un print avec plusieurs arguments, ou alors c'est une nouveauté de PHP6. [:petrus75]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 23-04-2008 à 23:11:49    

Ah ouais. C'est assez mal foutu je dois dire mais je ne pense pas que ça cause ce message d'erreur.


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
Reply

Marsh Posté le 23-04-2008 à 23:22:08    

Je veux bien faire un copier coller de ton code dans mon éditeur pour tester, mais le forum n'a pas l'air de vouloir. Si je copie colle tel quel, il me fout tout sur la même ligne, et si je vais voir le source, l'affichage se vautre au milieu du code. [:petrus75]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 23-04-2008 à 23:31:50    

Ah. Tu  utilises quoi comme éditeur ?


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
Reply

Marsh Posté le 23-04-2008 à 23:37:41    

C'est pas l'éditeur le problème. :spamafote:
 
Ah et avec Firefox c'est pas sur une seule ligne mais j'ai les numéros qui viennent se foutre sur toutes les lignes. [:petrus75]
 
Bref de toute façon tu peux sûrement débugger ça tout seul, en réduisant petit à petit le code, ça doit pas être méchant.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 23-04-2008 à 23:37:41   

Reply

Marsh Posté le 23-04-2008 à 23:43:33    

Et on peut pas virer les numéros de ligne :/
Si je poste, c'est que je ne sais pas comment résoudre le problème :o


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
Reply

Marsh Posté le 23-04-2008 à 23:47:34    

Alors mets ton code dans un fichier qu'on puisse aller télécharger.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 24-04-2008 à 00:08:35    

faut utiliser l'icone avec des noeils (voir bbcode)

 

ou faire un reply sur le message en question

Message cité 1 fois
Message édité par art_dupond le 24-04-2008 à 00:09:28

---------------
oui oui
Reply

Marsh Posté le 24-04-2008 à 06:37:17    

pratique :)


---------------
oui oui
Reply

Marsh Posté le 24-04-2008 à 07:36:55    

art_dupond a écrit :

faut utiliser l'icone avec des noeils (voir bbcode)


 
Je veux bien, mais l'affichage s'emmêle au milieu du code.  [:petrus75]  
 
Et pour le double clic... j'oublie à chaque fois.  :(  


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 24-04-2008 à 12:44:27    

Bon en fait c'est réglé, c'était dû à un con de short tag à la ligne 28 [:dawao]


Message édité par Tristou le 24-04-2008 à 12:45:24

---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
Reply

Marsh Posté le 29-04-2008 à 20:47:18    

[:hahaguy]


---------------
Nespresso, what else ?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed