За последние 24 часа нас посетили 15787 программистов и 1666 роботов. Сейчас ищут 872 программиста ...

Сообщения

Тема в разделе "PHP для новичков", создана пользователем danies, 25 июл 2014.

  1. danies

    danies Новичок

    С нами с:
    21 июл 2014
    Сообщения:
    38
    Симпатии:
    0
    Есть некая программа для отправки сообщений и их отображения(наподобие соц.сетей). Если в сообщении написать любой тег,он будет отображаться не в виде текста,а рушить структуру страницы. Можно сделать так,чтобы содержимое сообщение полностью отображалось как текст?(без создания при написании сообщения запретов на ввод таких символов как,например,<div>).Если поставить тип выводимых данных из бд string-вообще ничего не пишет:( Вот код,если нужен

    Код (Text):
    1. <?php
    2. require 'config1280/database_connection.php';
    3. require_once 'config1280/authorize.php';
    4. authorize_user();
    5.  
    6. $user_id_message=$_SESSION['user_id'];
    7.  
    8.  
    9.  
    10.  
    11. ?>
    12.  
    13.  
    14. <html>
    15. <head>
    16. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    17. <title>Сообщения</title>
    18. <link type="text/css" rel="StyleSheet" href="css/my.css" />
    19.   <link href="css/jquery.validate.password.css" rel="stylesheet" type="text/css" />
    20.  
    21.  <script type="text/javascript" src="js/jquery.js"></script>
    22.   <script type="text/javascript" src="js/jquery.validate.js"></script>
    23.   <script type="text/javascript" src="js/jquery.validate.password.js"></script>
    24. </head>
    25. <body>
    26.  <script type="text/javascript">
    27.     $(document).ready(function() {
    28.       $("#signup_form").validate({
    29.         rules: {
    30.           password: {
    31.             minlength: 6
    32.           },
    33.           confirm_password: {
    34.             minlength: 6,
    35.             equalTo: "#password"
    36.           }
    37.         },
    38.         messages: {
    39.           password: {
    40.             minlength: "Пароль должен содержать минимум 6 символов."
    41.           },
    42.           confirm_password: {
    43.             minlength: "Пароль должен содержать минимум 6 символов.",
    44.             equalTo: "Ваши пароли не совпадают."
    45.           }
    46.         }
    47.       });
    48.     });
    49.    
    50.    
    51. function delete_message(id_message) {
    52. if(confirm("Уверены?Даже Йода не сможет потом помочь вам.")) {
    53. window.location="delete_message.php?id_message=" + id_message;
    54. }
    55. }
    56.   </script>
    57.   <?php
    58.   if (!isset($_SESSION['user_id'])) {
    59. include "menu.html";
    60. } else {
    61. include "menu_user.php";
    62. }
    63. ?>
    64.  
    65. <table width="70%" align="right" style="padding:40px;margin-top:15%;"><tr>
    66. <td colspan="2">
    67. <p class="head">Сообщения</p>
    68. </td></tr><tr>
    69.  
    70.  
    71. <td align="left" width="50%" valign="top">
    72. <p class="min_head">Входящие</p><hr/>
    73. <ul>
    74. <?php
    75. //Поиск сообщений
    76. $messages = sprintf("SELECT user_id_message, user_id_message_send, id_message, message FROM message_users WHERE user_id_message_send=%d;", mysql_real_escape_string($user_id_message));
    77. $messages=mysql_query($messages);
    78. //Если сообщеия отсутствуют
    79. $messages1 = sprintf("SELECT user_id_message, user_id_message_send, message FROM message_users WHERE user_id_message_send=%d;", mysql_real_escape_string($user_id_message));
    80. $messages11=mysql_query($messages1);
    81. $user_message1=mysql_fetch_array($messages11);
    82. if (!$user_message1) {
    83. $ok="<p style='color:red;' class='min_head'>Сообщения отсутствуют.</p>";
    84. }
    85. echo $ok;
    86. //Вывод удаления сообщения
    87. if ($_REQUEST['success_message']==1) {
    88. echo "<p style='color:red;' class='min_head'>Сообщение удалено!</p><br>";
    89. }
    90.  
    91. //Вывод
    92. while ($user_message=mysql_fetch_array($messages)) {
    93. //От кого
    94. $select_user_name= "SELECT first_name,last_name FROM users WHERE user_id=" . $user_message['user_id_message'] . ";";
    95. $result=mysql_query($select_user_name);
    96. if (mysql_num_rows($result)==1) {
    97. $result_user_name=mysql_fetch_array($result);
    98. $user_name=$result_user_name['first_name'];
    99. $user_name1=$result_user_name['last_name'];
    100. }
    101.  
    102. $message_show=$user_message['message'];
    103. $long=strlen($user_message['message']);
    104. if ($long>100) {
    105. $message_show=substr($message_show, 0, 100);
    106. $message_show=$message_show . " . . .";
    107. }
    108. //Вывод
    109. $user_row_message=sprintf("<li>От пользователя <a href='show_user.php?user_id=%d' class='link' target='blank'>%s %s</a>:<br> <font style='color:#EEE8AA;'>'%s'</font><a href='send_message?message_id=%d&user_id=%d' class='link'>Ответить</a><br>  <a href='javascript:delete_message(%d);' class='link' style='color:red;'>Удалить</a></li>", $user_message['user_id_message'], $user_name, $user_name1, $message_show, $user_message['id_message'], $user_message['user_id_message'], $user_message['id_message']);
    110. echo $user_row_message;
    111. }
    112.  
    113. ?>
    114. </ul>
    115. </td><td width="50%" valign="top">
    116.  
    117. <p class="min_head">Исходящие</p><hr/>
    118. <ul>
    119. <?php
    120. //Поиск сообщений
    121. $messages = sprintf("SELECT user_id_message, user_id_message_send, id_message, message FROM message_users WHERE user_id_message=%d;", mysql_real_escape_string($user_id_message));
    122. $messages=mysql_query($messages);
    123. //Если сообщеия отсутствуют
    124. $messages1 = sprintf("SELECT user_id_message, user_id_message_send, message FROM message_users WHERE user_id_message=%d;", mysql_real_escape_string($user_id_message));
    125. $messages11=mysql_query($messages1);
    126. $user_message1=mysql_fetch_array($messages11);
    127. if (!$user_message1) {
    128. $ok="<p style='color:red;' class='min_head'>Сообщения отсутствуют.</p>";
    129. }
    130. echo $ok;
    131. //Вывод удаления сообщения
    132. if ($_REQUEST['success_message']==1) {
    133. echo "<p style='color:red;' class='min_head'>Сообщение удалено!</p><br>";
    134. }
    135.  
    136. //Вывод
    137. while ($user_message=mysql_fetch_array($messages)) {
    138. //Кому
    139. $select_user_name= "SELECT first_name,last_name FROM users WHERE user_id=" . $user_message['user_id_message_send'] . ";";
    140. $result=mysql_query($select_user_name);
    141. if (mysql_num_rows($result)==1) {
    142. $result_user_name=mysql_fetch_array($result);
    143. $user_name=$result_user_name['first_name'];
    144. $user_name1=$result_user_name['last_name'];
    145. }
    146.  
    147. $message_show=$user_message['message'];
    148. $long=strlen($user_message['message']);
    149. if ($long>100) {
    150. $message_show=substr($message_show, 0, 100);
    151. $message_show=$message_show . " . . .";
    152. }
    153. //Вывод
    154. $user_row_message=sprintf("<li>Кому: <a href='show_user.php?user_id=%d' class='link' target='blank'>%s %s</a>:<br> <font style='color:#EEE8AA;'>'%s'</font><a href='send_message?message_id=%d&user_id=%d' class='link'>Ответить</a><br>  <a href='javascript:delete_message(%d);' class='link' style='color:red;'>Удалить</a></li>", $user_message['user_id_message_send'], $user_name, $user_name1, $message_show, $user_message['id_message'], $user_message['user_id_message_send'], $user_message['id_message']);
    155. echo $user_row_message;
    156. }
    157.  
    158.  
    159. ?>
    160. </ul>
    161.  
    162. </td>
    163. </tr>
    164. </table>
    165.  <script type="text/javascript" src="js/js.js"></script>
    166. </body>
    167. </html>
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Можно использовать htmlspecialchars, которая заменит угловые скобки (и др. спец. символы) на сущности html, и теги будут отображены как простой текст, т.е. будет напечатано, например, не жиный текст, а <b>жирный текст</b>. Ещё есть strip_tags - удалит все теги из текста
     
  3. danies

    danies Новичок

    С нами с:
    21 июл 2014
    Сообщения:
    38
    Симпатии:
    0
    Спасибо!