Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Выполняется лишь та форма, что выше
Форумы портала PHP.SU » » Вопросы новичков » Выполняется лишь та форма, что выше

Страниц (1): [1]
 

1. Cyrius - 17 Августа, 2017 - 15:55:25 - перейти к сообщению
Сюжет:
Человек может оставлять свои заявки на вступление в команду или её создание по играм.
Человек имеет по одной заявке в каждой из этих игр (создание или вступление - без разницы).
Человек хочет иметь возможность редактировать свои заявки.
Вот код, который печатает форму, в которой находиться табличка со всеми данными заявки (сделано, что при клике на ячейку, ее содержимое можно менять). При малейшем изменении любого поля появляется кнопка сохранения данных.
PHP:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // $id = isset($_SESSION['steamid']) ? $_SESSION['steamid'] : $_SESSION['id']; //id залогинившегося
  4. // $login = $_SESSION['login']; // login залогинившегося
  5.  
  6. // $qery1 = mysqli_query($connect,"SELECT * FROM `dotaplayers` WHERE `user_id` = '$id'");
  7. // $query2 = mysqli_query($connect,"SELECT * FROM `dotateams` WHERE `user_id` = '$id'");
  8. // $query3 = mysqli_query($connect,"SELECT * FROM `csgoteams` WHERE `user_id` = '$id'");
  9. // $query4 = mysqli_query($connect,"SELECT * FROM `csgoplayers` WHERE `user_id` = '$id'");
  10. // $query =  mysqli_query($connect,"SELECT * FROM `users` WHERE `login` = '$login' ");
  11. // $data = mysqli_fetch_array($query);
  12.  
  13. // $sql_steam ="SELECT * FROM `steam_auth` WHERE `steam_id` = '$steamid'";
  14. // $steam_authing = mysqli_query($connect,$sql_steam);
  15. // $steam_data_table = mysqli_fetch_array($steam_authing);
  16.  
  17. if(mysqli_num_rows($query1) > 0 || mysqli_num_rows($query2) > 0 || mysqli_num_rows($query3) > 0  || mysqli_num_rows($query4) > 0 ){
  18. echo "<p><b>Ваши заявки: </b> </p>";
  19. echo "<div style=' margin-bottom: 5px ; border: 1px solid rgba(255, 165, 0, 0.27); padding: 0;background-color: rgba(255, 224, 0, 0.18);'><p style='margin:0;'><img src='img/znak.png' height='40' style='float:left;'>Для редактирования просто щелкните по ячейке, затем на появившуюся кнопку.<br><span style='margin-left: 10px;'>Обычно выполнение операции длиться до 5 сек.</span> </p></div>";
  20. echo "<div id='save' style='margin:0; padding:0; position: relative;bottom: 0;top: 4px;'> </div>";
  21. //Если ищет тиму в доте
  22. if(mysqli_num_rows($query1) > 0){
  23.   $z = mysqli_fetch_array($query1);
  24.   printf("
  25. <form method='post' id='change'>  
  26. <table style='border-collapse:collapse;background:#d8d6d0; border: 1px #5964f1; margin:0;' border='1' id='tablee' width='834'>
  27. <tr align='center'>
  28.   <td height='45' ><input class='mine_z' type'text' value='%s' size='10' name='nick_player_dota'></td>
  29.   <td><input class='mine_z' type'text' value='%s' size='10' name='role_player_dota'></td>
  30.   <td><input class='mine_z' type='text' value='%s' size='10' name='mmr_player_dota'></td>
  31.   <td><input class='mine_z' type='text' value='%s' size='5' name='time_player_dota'></td>
  32.   <td><input class='mine_z' type='text' value='%s' size='10' name='db_player_dota'></td>
  33.   <td><input class='mine_z' type='text' value='%s' size='10' name='sign_player_dota'></td>
  34.   <td><input class='mine_z' type='text' value='%s' size='10' name='contacts_player_dota'></td>
  35.   <td align='center' style='padding:0; background: #ff6666;' width='60'><label for='delete'><img src='img/crest.png' class='block'></label><input type='submit' name='delete_dota_player' style='display: none;' id='delete'> </td>
  36. </tr>
  37. </table>
  38. </form>  <br><br>
  39.  
  40. ",$z['nick'],$z['role'], $z['mmr'],$z['db'],$z['t1me'],$z['sign'],$z['contacts']);
  41. }
  42.  
  43. //Если создает тиму в доте
  44. elseif(mysqli_num_rows($query2) > 0){
  45. $z = mysqli_fetch_array($query2);
  46. <form method='post' id='change' >
  47.  
  48.  <script>
  49. function newWin%s() {window.open('preview_team.php?team_id=%s', 'Профиль команды', 'width=430,height=500,left=400,top=100');}
  50. </script>  
  51. <table style='border-collapse:collapse;background:#d8d6d0; border: 1px #5964f1; margin:0;' border='1' id='tablee' width='834'>
  52. <tr align='center'>
  53.   <td height='45'><span onclick='newWin%s()' style='cursor:pointer;'><img src='%s' width='70' ></span></td>
  54.   <td><input class='mine_z' type'text' value='%s' size='10' name='name_team_dota'></td>
  55.   <td><input class='mine_z' type='text' value='%s' size='10' name='role_team_dota'></td>
  56.   <td><input class='mine_z' type='text' value='%s' size='3' name='mmr_team_dota'></td>
  57.   <td><textarea class='mine_z' rows='4' cols='30' name='about_team_dota'>%s</textarea></td>
  58.   <td><input class='mine_z' type='text' value='%s' size='10' name='contacts_team_dota'></td>
  59.   <td align='center' style='padding:0; background: #ff6666;' width='60'><label for='delete'><img src='img/crest.png' class='block'></label><input type='submit' name='delete_dota_team' style='display: none;' id='delete'> </td>
  60. </tr>
  61. </table>
  62. </form>  <br><br>
  63.  
  64. ",$id,$id,$id,$z['avatar_short'], $z['name'],$z['roles'],$z['mmr'],$z['about'],$z['contacts']);
  65.      }
  66. //Если ищет тиму в csgo
  67.      if(mysqli_num_rows($query4) > 0){
  68.  
  69. $c = mysqli_fetch_array($query4);
  70. <form method='post' id='change' >
  71. <table style='border-collapse:collapse;background:#d8d6d0; border: 1px #5964f1; margin:0;' border='1' id='tablee' width='834'>
  72. <tr align='center'>
  73.   <td width='104'><input class='mine_z' type'text' value='%s' size='10' name='nick_player_csgo'></td>
  74.   <td width='219'><img src='%s'></td>
  75.   <td width='68'><input class='mine_z' type'text' value='%s' size='5' name='time_player_csgo'></td>
  76.   <td width='105'><input class='mine_z' type'text' value='%s' size='10' name='primetime_player_csgo'></td>
  77.   <td><input class='mine_z' type'text' value='%s' size='20' name='contacts_player_csgo'></td>
  78.  
  79.   <td align='center' style='padding:0; background: #ff6666;' width='60'><label for='delete'><img src='img/crest.png' class='block'></label><input type='submit' name='delete_csgo_player' style='display: none;' id='delete'> </td>
  80. </tr>
  81. </table>
  82. </form>
  83. <br><br>
  84. ",$c['nick'],$c['rank'],$c['time'],$c['game_time'],$c['contacts']);
  85.  
  86.  
  87.      }
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.      if(isset($_POST['delete_dota_team'])){
  96.   mysqli_query($connect,"DELETE FROM `dotateams` WHERE `user_id` = '$id'");
  97. header("Location:".$_SERVER['PHP_SELF']."#zayavka");
  98.   }
  99.     if(isset($_POST['delete_dota_player'])){
  100.   mysqli_query($connect,"DELETE FROM `dotaplayers` WHERE `user_id` = '$id'");
  101. header("Location:".$_SERVER['PHP_SELF']."#zayavka");
  102.   }
  103.     if(isset($_POST['delete_csgo_player'])){
  104.   mysqli_query($connect,"DELETE FROM `csgoplayers` WHERE `user_id` = '$id'");
  105. header("Location:".$_SERVER['PHP_SELF']."#zayavka");
  106.   }
  107. }
  108.  
  109. ?>
  110. <script>
  111. var elem = document.getElementsByClassName('mine_z');
  112. for (var i = 0; i < elem.length; i++) {
  113.     elem[i].oninput = function() {
  114.     var save = document.getElementById('save');
  115.     save.innerHTML = "<label><img src='img/save.png' style='cursor:pointer; margin:0;'><input type='submit' name='submit_changes' style='display:none;' form='change'></label>";
  116.     }
  117.   }
  118. </script>
  119.  
  120. <?PHP
  121. if(isset($_POST['submit_changes'])){
  122. //dota teams
  123.   $c_name = $_POST['name_team_dota'];
  124.   $c_role = $_POST['role_team_dota'];
  125.   $c_mmr = $_POST['mmr_team_dota'];
  126.   $c_about = $_POST['about_team_dota'];
  127.   $c_contacts = $_POST['contacts_team_dota'];
  128. //dota plsyers
  129.   $c_nick_p = $_POST['nick_player_dota'];
  130.   $c_role_p = $_POST['role_player_dota'];
  131.   $c_mmr_p = $_POST['mmr_player_dota'];
  132.   $c_db_p = $_POST['db_player_dota'];
  133.   $c_sign_p = $_POST['sign_player_dota'];
  134.   $c_time_p = $_POST['time_player_dota'];
  135.   $c_contacts_p = $_POST['contacts_player_dota'];
  136. //csgp players
  137.   $c_nick_pcs = $_POST['nick_player_csgo'];
  138.   $c_time_pcs = $_POST['time_player_csgo'];
  139.   $c_gametime_pcs = $_POST['primetime_player_csgo'];
  140.   $c_contacts_pcs = $_POST['contacts_player_csgo'];
  141.   //-------
  142.   if($c_name != '' and $c_role != '' and $c_mmr != '' and $c_about != '' and $c_contacts != ''){
  143.     $sql_cahnge_query = "UPDATE `dotateams` SET `name` = '$c_name' ,  `roles` ='$c_role' , `mmr` = '$c_mmr' , `about` = '$c_about' , `contacts` = '$c_contacts' WHERE `user_id` = '$id'";
  144. mysqli_query($connect, $sql_cahnge_query);
  145. header("Location:".$_SERVER['PHP_SELF']."#zayavka");
  146.  
  147. }
  148.   if($c_nick_p != '' and $c_role_p != '' and $c_mmr_p != '' and $c_db_p != '' and $c_sign_p != '' and $c_time_p != '' and $c_time_p != '') {
  149.     $sql_cahnge_query_p = "UPDATE `dotaplayers` SET `nick` = '$c_nick_p' ,  `role` ='$c_role_p' , `mmr` = '$c_mmr_p' , `t1me` = '$c_time_p' , `db` = '$c_db_p', `sign` = '$c_sign_p', `contacts` = '$c_contacts_p' WHERE `user_id` = '$id'";
  150. mysqli_query($connect, $sql_cahnge_query_p);
  151. header("Location:".$_SERVER['PHP_SELF']."#zayavka");
  152.   }
  153.   if($c_nick_pcs != '' and $c_time_pcs != '' and $c_gametime_pcs != '' and $c_contacts_pcs != ''){
  154. $sql_change_query = "UPDATE `csgoplayers` SET `nick` = '$c_nick_pcs' ,  `time` ='$c_time_pcs' , `game_time` = '$c_gametime_pcs' , `contacts` = '$c_contacts_pcs'  WHERE `user_id` = '$id'";
  155. mysqli_query($connect,$sql_change_query);
  156. header("Location:".$_SERVER['PHP_SELF']."#zayavka");
  157.  
  158.   }
  159. }
  160. ?>
  161.  

Если Человек имеет всего одну заявку, то все работает прекрасно. Если же он имеет две заявки, то возможность к редактированию и удалению имеет только ТА, ЧТО НАХОДИТЬСЯ ВЫШЕ.
Не могу понять, в чем причина данный проблемы, надеюсь на вашу помощь.
Вот небольшое видео (50 сек) с описанием проблемы более подробно.
https://youtu[dot]be/RswC17tLcdI
Сорян за качество, но впринципе там все понятно.
2. MouseZver - 17 Августа, 2017 - 22:51:16 - перейти к сообщению
я тебе уже сообщал в другом пространстве форума

 

Powered by ExBB FM 1.0 RC1