Bu kodun neden çalışmadığını gören var mı? kontrol ettirmek için para aldı ve işe yarayacağını söyledi

kodun çalışması gerektiğini söyleyen insanların bir sürü, bağlantı iyidir, sql ifadeleri iyi, neden emin değiliz, kimse neden bir ipucu var? get_data yönteminin bir yerlerde yanlış olduğunu varsayarsak, açılır kutu boş kalır

 <?php
    require("db.php");
    include("functions.php");
    if(isset($_POST['submit']))
    {
      $Date = date('Y-m-d H:i:s');
      $FirstName = $mysqli->real_escape_string($_POST['FirstName']);
      $LastName = $mysqli->real_escape_string($_POST['LastName']);
      $Rating = $mysqli->real_escape_string($_POST['Rating']);
      $Comment = $mysqli->real_escape_string($_POST['Comment']);

      $sql = "INSERT INTO guest(GuestID, FirstName, LastName, PostcodeFK, Email, Date, Rating,Comment)"
       ." VALUES ('', '$FirstName', '$LastName', '$Postcode', '$Email', '$Date', '$Rating', '$Comment')";

    if($mysqli->query($sql)==TRUE)
    {
      echo "<script>alert('Record Added.'); location.href='customers.html'</script>";
    }else{
     echo "<script>alert('Error'); location.href='#'</script>"; 
    }
    function get_data($mysqli)
    {

       $sql="SELECT `MealOption` FROM menu";
       $result=$mysqli->query($sql);
           while ($row=$result->fetch_assoc())
          {
            echo "
";
          }

    }
    }

    ?>
    <html>

    <body>
    <form action="" method="post">
    First Name: <input type="text" name="FirstName" require/>
Last Name: <input type="text" name="LastName" require/>
Postcode: <input type="number" name="Postcode" require/>
Email: <input type="email" name="Email" require/>
<button class="btn" onclick="get_data(Meal);">Add</button>
Rating: <input type="number" name ="Rating" min="1" max="5" require/>
Comment: <input type="text" name ="Comment">
<input type="submit" name="submit"> </form> </body> </html>
3
Ne "çalışmıyor" demek? Kod çalıştığında ne olur?
katma yazar Cristik, kaynak
“kontrol ettirmek için para aldı ve işe yarayacağını söyledi” Yani kontrol etmek yerine başka insanlara soruyorsunuz? Birinden kontrol etmesine izin vermek için birinden paran var mı?
katma yazar Loko, kaynak
“kontrol ettirmek için para aldı ve işe yarayacağını söyledi” Yani kontrol etmek yerine başka insanlara soruyorsunuz? Birinden kontrol etmesine izin vermek için birinden paran var mı?
katma yazar Loko, kaynak
function get_data (obj) öğesini içeren Javascript nerede?
katma yazar Tigger, kaynak
function get_data (obj) öğesini içeren Javascript nerede?
katma yazar Tigger, kaynak
Bunu kontrol ettirmek için ödediğin anlamına mı geliyor?
katma yazar Matadeleo, kaynak
Bunu kontrol ettirmek için ödediğin anlamına mı geliyor?
katma yazar Matadeleo, kaynak
Yani az önce ona baktı ve sınamak için uğraşmadı mı? Görünüşe göre bir JavaScript işlevi çalıştırmaya ve çalıştırılacak bir PHP işlevi beklemeye çalışıyorsunuz. Menüyü dinamik olarak almak için neden kodu çalıştırmanız gerektiğinden emin değilim, ancak bunu ajax ile yapabilirsiniz.
katma yazar Matadeleo, kaynak
Yani az önce ona baktı ve sınamak için uğraşmadı mı? Görünüşe göre bir JavaScript işlevi çalıştırmaya ve çalıştırılacak bir PHP işlevi beklemeye çalışıyorsunuz. Menüyü dinamik olarak almak için neden kodu çalıştırmanız gerektiğinden emin değilim, ancak bunu ajax ile yapabilirsiniz.
katma yazar Matadeleo, kaynak
@Loko, işe yaramazken kimseye ödeme yapmadım, hiçbir düzenleme yapmadı ve neden işe yaramadı diye bir neden söylemedi, düzeltmek için bana yardım etmek için birisine bir kasiyere teklif etmeye istekliyim
katma yazar csharpnewbie, kaynak
@Cristik bir açılır kutu ve get_data işlevinden neye benzediğini, her şeyin iyi olduğunu, sadece menü kutusunun gyazo.com/366c81a8652e856d31bf9d4d7c407077
katma yazar csharpnewbie, kaynak
@Cristik bir açılır kutu ve get_data işlevinden neye benzediğini, her şeyin iyi olduğunu, sadece menü kutusunun gyazo.com/366c81a8652e856d31bf9d4d7c407077
katma yazar csharpnewbie, kaynak

7 cevap

Your <button class="btn" onclick="get_data(Meal);">Add</button> with the function get_data(Meal) cant call a PHP function.

Bu nedenle, örneğin ajax aracılığıyla bilgi akışını isteyen bir get_data() JavaScript işlevi oluşturmanız gerekir.

Paranı o adamdan geri almalısın.

2
katma
Son cümle için +1. Sadece genel olarak, ama adam bu kodu kontrol etmek zorunda kaldıysa ve kötü uygulamanın ne olduğunu söylemek zorunda kalsaydı, OP'ye ne yapması gerektiğini söyleyin, ne yaptığını tam olarak bilmiyor ve aslında bir scammer .
katma yazar Loko, kaynak
'Scammed' kelimesi akla geliyor
katma yazar Matadeleo, kaynak

Your <button class="btn" onclick="get_data(Meal);">Add</button> with the function get_data(Meal) cant call a PHP function.

Bu nedenle, örneğin ajax aracılığıyla bilgi akışını isteyen bir get_data() JavaScript işlevi oluşturmanız gerekir.

Paranı o adamdan geri almalısın.

2
katma
Son cümle için +1. Sadece genel olarak, ama adam bu kodu kontrol etmek zorunda kaldıysa ve kötü uygulamanın ne olduğunu söylemek zorunda kalsaydı, OP'ye ne yapması gerektiğini söyleyin, ne yaptığını tam olarak bilmiyor ve aslında bir scammer .
katma yazar Loko, kaynak
'Scammed' kelimesi akla geliyor
katma yazar Matadeleo, kaynak

Your <button class="btn" onclick="get_data(Meal);">Add</button> with the function get_data(Meal) cant call a PHP function.

Bu nedenle, örneğin ajax aracılığıyla bilgi akışını isteyen bir get_data() JavaScript işlevi oluşturmanız gerekir.

Paranı o adamdan geri almalısın.

2
katma
Son cümle için +1. Sadece genel olarak, ama adam bu kodu kontrol etmek zorunda kaldıysa ve kötü uygulamanın ne olduğunu söylemek zorunda kalsaydı, OP'ye ne yapması gerektiğini söyleyin, ne yaptığını tam olarak bilmiyor ve aslında bir scammer .
katma yazar Loko, kaynak
'Scammed' kelimesi akla geliyor
katma yazar Matadeleo, kaynak

Kodunuz XSS saldırılarına karşı güvenli değildir - bu soruna neden olabilir, ör. yemek seçeneğiniz bir kesme işareti içeriyorsa.

Bu satırı değiştirmeyi deneyin:

echo "
";

bu hatta:

echo "
";
0
katma

Kodunuz XSS saldırılarına karşı güvenli değildir - bu soruna neden olabilir, ör. yemek seçeneğiniz bir kesme işareti içeriyorsa.

Bu satırı değiştirmeyi deneyin:

echo "
";

bu hatta:

echo "
";
0
katma

Get_data işlevinizi if ifadesinden çıkarmanız gerekir. Girinti size yardımcı olabilir.

if(isset($_POST['submit']))
{
  $Date = date('Y-m-d H:i:s');
  $FirstName = $mysqli->real_escape_string($_POST['FirstName']);
  $LastName = $mysqli->real_escape_string($_POST['LastName']);
  $Rating = $mysqli->real_escape_string($_POST['Rating']);
  $Comment = $mysqli->real_escape_string($_POST['Comment']);

  $sql = "INSERT INTO guest(GuestID, FirstName, LastName, PostcodeFK, Email, Date, Rating,Comment)"
   ." VALUES ('', '$FirstName', '$LastName', '$Postcode', '$Email', '$Date', '$Rating', '$Comment')";

   if($mysqli->query($sql)==TRUE)
   {
       echo "<script>alert('Record Added.');location.href='customers.html'</script>";
   } else {
       echo "<script>alert('Error'); location.href='#'</script>"; 
   }
}

function get_data($mysqli)
{

   $sql="SELECT `MealOption` FROM menu";
   $result=$mysqli->query($sql);
       while ($row=$result->fetch_assoc())
      {
        echo "
";
      }

}

Ve html kullanımı için PHP işlevini kullanmadan önce PHP etiketlerini eklemeniz gerekir.

 <?php get_data($mysqli); ?>
0
katma

Get_data işlevinizi if ifadesinden çıkarmanız gerekir. Girinti size yardımcı olabilir.

if(isset($_POST['submit']))
{
  $Date = date('Y-m-d H:i:s');
  $FirstName = $mysqli->real_escape_string($_POST['FirstName']);
  $LastName = $mysqli->real_escape_string($_POST['LastName']);
  $Rating = $mysqli->real_escape_string($_POST['Rating']);
  $Comment = $mysqli->real_escape_string($_POST['Comment']);

  $sql = "INSERT INTO guest(GuestID, FirstName, LastName, PostcodeFK, Email, Date, Rating,Comment)"
   ." VALUES ('', '$FirstName', '$LastName', '$Postcode', '$Email', '$Date', '$Rating', '$Comment')";

   if($mysqli->query($sql)==TRUE)
   {
       echo "<script>alert('Record Added.');location.href='customers.html'</script>";
   } else {
       echo "<script>alert('Error'); location.href='#'</script>"; 
   }
}

function get_data($mysqli)
{

   $sql="SELECT `MealOption` FROM menu";
   $result=$mysqli->query($sql);
       while ($row=$result->fetch_assoc())
      {
        echo "
";
      }

}

Ve html kullanımı için PHP işlevini kullanmadan önce PHP etiketlerini eklemeniz gerekir.

 <?php get_data($mysqli); ?>
0
katma