Member 13778035 Ответов: 2

На веб-странице появляется пустое место


Это моя форма и я использую ее для ввода данных когда пользователь нажимает на нее
<?php
          global $row6;
          $query= "select s.name ,s1.price from services s ,seller_services s1 where s1.service_id = s.id;";
          $result= mysqli_query($conn3,$query) or die(mysqli_error($conn3));
          while($row6=mysqli_fetch_array($result))
          {
            ?>
          <div class="col-md-3 col-sm-4">
            <div class="pro-box">
              <div class="pro-thumb"><img src="https://udemy-images.udemy.com/course/240x135/1192700_6496_2.jpg" alt=""></div>
              <div class="pro-txt"> <a href="#" class="add2cart"></a>
                <h6><a href="manageservice.php"><?php echo $row6['name'];?></a></h6>
                <p class="price"><?php echo $row6['price'];?></p>
                <form action="manageservice.php" method="POST">
                   <input type="submit" hidden="id" value="buy" namw="buy"/>
                 </form>
                 <div class="pro-rating"><a href="#">    </a></div>
              </div>
            </div>
          </div>
          <?php } ?> 

а дальше у меня есть страница manageservices.php где этот идентификатор should идти на clcking, и теперь то, что должно произойти, - это все пользователи, имеющие этот идентификатор службы, отображенный в соответствующей таблице seller_services, должны быть отображены .
<div class="team-page">
      <div class="container">
        <div class="row"> 
           <?php 
          global $row;
          if(isset($_POST['buy']))
                                    {
                                        $id=$_POST['id'];
          $query5= "Select *from services where id = '$id'; ";
          $result=mysqli_query($conn3,$query5) or die("Mysql error");

           while($row=mysqli_fetch_array($result))
                                        {
                                          ?>
                                          <?php } ?>
          <!--Team Box Start-->
          <div class="col-md-3 col-sm-6">
            <div class="team-box">
              <div class="thumb">
                <div class="team-hover">
                  <h6>Michelle WU</h6>
                  <p>Aliquam nec finibus dui, eget dapibus leo. Suspendisse aliquam, justo in venenatis congue, sem odio vestibulum lorem, quis consectetur arcu nulla in est. </p>
                  <div class="mayor-social"> <a class="fb" href="#"></a> <a class="tw" href="#"></a> <a class="lin" href="#"></a> <a class="yt" href="#"></a> </div>
                </div>
                <img src="images/timg-1.jpg" alt=""></div>
              <div class="team-txt">
                <h5><?php  echo $row['name'];?></h5>
                <p><?php  echo $row['email'];?></p>
              </div>
            </div>

я не очень хорошо пишу запросы, а также страница просто показывает черный экран
вот таблицы базы данных, которые будут использоваться :
1.Таблица, связывающая идентификатор пользователя с идентификатором службы
`seller_services` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `service_id` int(50) NOT NULL,
  `subservice_id` int(50) NOT NULL,
  `price` int(50) NOT NULL,
  `time` varchar(50) NOT NULL,
  `user_id` int(50) NOT NULL,
  `shop_id` int(50) NOT NULL,
  PRIMARY KEY (`id`)
)

2.обслуживание столов
`services` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `image` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
)

пользователи таблиц:
`users` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `password` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `gender` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `phone` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `photo` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `admin` int(11) NOT NULL,
  `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`)
)


Что я уже пробовал:

я показал вам то что я пробовал в приведенном выше коде мне просто нужна помощь в запросе и с белым пробелом он показывает

2 Ответов

Рейтинг:
2

W∴ Balboos, GHB

Вы должны проверить интервал между запросами (для начала). У тебя есть

select *from 
instead of
select * from
Использование " У "вместо" ты " и другой подобной ерунды для переписки по сотовому телефону-верный способ развить неряшливые привычки. Это нормально для ошибки в английском языке - это не ваш родной язык. Я имею в виду не языковые ошибки, а преднамеренный мусор. Компьютеры очень грубы с программистами с неряшливыми привычками. "Почти не считается".


Рейтинг:
0

Patrice T

$query5= "Select *from services where id = '$id'; ";

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]