Значения, полученные из базы данных, неправильно отображаются в php - PullRequest
0 голосов
/ 01 мая 2020

Привет, ребята, пожалуйста, помогите мне, у меня есть этот php код, где я получаю данные из базы данных и отображается в Интернете, и если вы отметите скрытый тег ниже Я дал ему значение, но вместо этого в нем отображаются не все значения. Вместо этого он создает атрибут.

PHP КОД

<?php
   $output = '';
    $sqlNO = "SELECT * FROM pnewoffer";

     $NOresult = mysqli_query($conn, $sqlNO);
     if(mysqli_num_rows($NOresult) > 0) {
         while($row = mysqli_fetch_array($NOresult)) {
         $output .= '<div class="offer-card">
          <form action="./bked/savedit.php" method="post">
            <a href="#" class="offer-card-inner">
            <div class="offer-img">
              <img src="./image/'.$row['offerPImage'].'" alt="New Offer Image" width="200">
            </div>
          <div class="offer-info">
               <h3 class="offer-title">'.$row['offerPName'].'</h3>
                  <div class="clearfix rating marT8 ">
                     <div class="rating-stars ">
                        <div class="grey-stars"></div>
                         <div class="filled-stars" style="width:60.0%"></div>
                      </div>
                   </div>
                   <h4 class="offer-product-price">N'.$row['offerPPrice'].' </h4>
          </div>
       </a>
                    <input type="hidden" name="newPPrice" value='.$row['offerPPrice'].'>
                    <input type="hidden" name="newPName" value='.$row['offerPName'].'>
                    <input type="hidden" name="newPImg" value='.$row['offerPImage'].'>

       <div class="offer-bt-btn">
          <div class="offer-btn">
             <button type="submit" name="saveForLater" class="favorite-offer-btn">
                <i class="far fa-heart"></i>
             </button>
              <a href="#" class="offer-product-info-btn">
               <i class="fa fa-info"></i>
               </a>
           </div>
       </div>

     </form>
   </div>';
   }
  }

  echo $output;

?>

РЕЗУЛЬТАТ

<input type="hidden" name="newPName" value="Blue" louis="" vuitton="" women="" bag="">
<input type="hidden" name="newPName" value="Samsung" galaxy="" s9="" 6gb="" ram,="" 32gb="" rom,="" 16mpbs="">

это на самом деле должно быть

<input type="hidden" name="newPName" value="Samsung Galaxy S9 6gb ram, 32gb rom, 16mpbs">
<input type="hidden" name="newPName" value="Blue Louis Vuitton Women Bag">

Пожалуйста, как я могу go об этом?

1 Ответ

0 голосов
/ 01 мая 2020

Если любое из значений содержит ' символов, это завершит атрибут value и начнет новый атрибут. Используйте htmlspecialchars() для кодирования и предотвращения этого.

<input type="hidden" name="newPPrice" value='.htmlspecialchars($row['offerPPrice'], ENT_QUOTES).'>
<input type="hidden" name="newPName" value='.htmlspecialchars($row['offerPName'], ENT_QUOTES).'>
<input type="hidden" name="newPImg" value='.htmlspecialchars($row['offerPImage'], ENT_QUOTES).'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...