Butuh panduan dengan kode saya di bawah ini dalam PHP

pemrograman


Jadi saya punya kode php ini dan saya tidak yakin apakah itu benar atau salah.
saya butuh bantuan apakah itu salah atau benar dan mengapa.
Masalah utama saya adalah variabel hasil di bagian terakhir [if] bekerja dengan sangat baik tetapi tidak sebagaimana mestinya, saya kira.
Terima kasih sebelumnya.

Apa yang saya coba:

<pre><?php
include 'connect.php';

function safe($con, $data)
{
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  $data = mysqli_real_escape_string($con, $data);
  return $data;
}

$name;
$email;
$msg;

if($_SERVER["REQUEST_METHOD"] == "POST")
{
  $name = safe($conn, $_POST['name']);
  $email = safe($conn, $_POST['email']);
  $msg = safe($conn, $_POST['message']);

  $sql = "INSERT INTO msgs (name, email, message, datte) VALUES (?, ?, ?, NOW())";

  $stmt = mysqli_stmt_init($conn);
  if (!mysqli_stmt_prepare($stmt, $sql)) {
      echo "Error with the SQL";
  }
  else {
      mysqli_stmt_bind_param($stmt, "sss", $name, $email, $msg);
      mysqli_stmt_execute($stmt);
      $result = mysqli_stmt_get_result($stmt);

  if(!$result)
  {
    echo "Your Message Has Been Delivered Successfully. <br/> We Will Get Back To You As Soon As Possible.";
    header( "refresh:1;url=index.php" );
  }
  else {
    echo "There was a problem with the system. Retry again later.".mysqli_error($conn);
    header( "refresh:1;url=index.php" );
  }
}




}



mysqli_close($conn);

 ?>

 <!DOCTYPE html>
 <html lang="en">
   <head>
     <meta charset="utf-8">
     <title></title>
     <style>
       body{
         background:#333;
         color:#fff;
         text-align: center;
         font-size: 1.5em;
       }
     </style>
   </head>
   <body>
   </body>
 </html>
Well in the <pre>$result = mysqli_stmt_get_result($stmt);

pernyataan mengembalikan nilai benar jika berhasil dan salah jika gagal dan di bawah [if] saya memeriksa apakah gagal untuk melanjutkan dengan sisa kode

if(!$result)
  {
    echo "Your Message Has Been Delivered Successfully. <br/> We Will Get Back To You As Soon As Possible.";
    header( "refresh:1;url=index.php" );
  }

Berikut ini masukan untuk kode di atas.

<div id="contact" class="contact">
        <form class="form" action="msg-process.php" method="post">
          <input type="text" name="name" value="" placeholder="Name" required>
          <input type="text" name="email" value="" placeholder="Enter Your Email..." required>
          <textarea name="message" rows="8" cols="40" placeholder="Enter Your Message..." required></textarea>
          <input type="submit">
        </form>
      </div>

Solusi 3

pernyataan mengembalikan nilai benar jika berhasil dan salah jika gagal

Lalu mengapa Anda menerapkan perilaku sebaliknya?
Cobalah untuk menghapus operator negatif boolean dari Anda if kondisi:

PHP
if ($result)
{
   // success
}
else
{
   // failure
}

Solusi 2

Kami tidak tahu apa yang seharusnya dilakukan kode Anda, jadi kami tidak bisa mengatakan apakah kode tersebut “berfungsi dengan benar” atau “berfungsi salah” – Anda perlu mengetahui apa yang diharapkan dari kode tersebut agar dapat mengetahui apakah kode tersebut berfungsi sebagaimana mestinya. ke!

Jadi, itu terserah Anda.
Untungnya, Anda memiliki alat yang dapat membantu Anda mengetahui apa yang sedang terjadi: debugger. Cara Anda menggunakannya bergantung pada sistem kompiler Anda, tetapi Google cepat untuk nama IDE dan “debugger” Anda akan memberikan informasi yang Anda butuhkan.

Letakkan breakpoint pada baris pertama fungsi, dan jalankan kode Anda melalui debugger. Kemudian lihat kode Anda, dan data Anda, lalu cari tahu apa yang harus terjadi secara manual. Kemudian satu langkah setiap baris untuk memeriksa apakah apa yang Anda harapkan terjadi adalah apa yang terjadi. Jika tidak, saat itulah Anda mempunyai masalah, dan Anda dapat menelusuri kembali (atau menjalankannya lagi dan melihat lebih dekat) untuk mencari tahu alasannya.

Maaf, kami tidak dapat melakukannya untuk Anda – saatnya Anda mempelajari keterampilan baru (dan sangat, sangat berguna): debugging!

Solusi 4

Mengutip:

Jadi saya punya kode php ini dan saya tidak yakin apakah itu benar atau salah.

Pertama, fakta mendapatkan hasil yang benar atau tidak merupakan indikasi.
Saat Anda ingin melihat apa yang dilakukan kode Anda dan bagaimana caranya, debugger adalah alat pilihan.
—–
Ada solusi yang hampir universal: Jalankan kode Anda pada debugger langkah demi langkah, periksa variabel.
Debugger ada di sini untuk menunjukkan kepada Anda apa yang dilakukan kode Anda dan tugas Anda adalah membandingkan dengan apa yang seharusnya dilakukan.
Tidak ada keajaiban dalam debugger, ia tidak tahu apa yang seharusnya dilakukan kode Anda, ia tidak menemukan bug, ia hanya membantu Anda dengan menunjukkan apa yang sedang terjadi. Jika kode tidak melakukan apa yang diharapkan, Anda hampir mengalami bug.
Untuk melihat apa yang dilakukan kode Anda: Cukup tetapkan breakpoint dan lihat kinerja kode Anda, debugger memungkinkan Anda mengeksekusi baris 1 per 1 dan memeriksa variabel saat dijalankan.

Debugger – Wikipedia, ensiklopedia gratis[^]

Menguasai Debugging di Visual Studio 2010 – Panduan Pemula[^]
Debugging Dasar dengan Visual Studio 2010 – YouTube[^]

phpdbg | debugger php[^]
Teknik debugging untuk programmer PHP[^]

Debugger di sini hanya menunjukkan kepada Anda apa yang dilakukan kode Anda dan tugas Anda adalah membandingkan dengan apa yang seharusnya dilakukan.

Solusi 5

Terima kasih, saya akan belajar cara menggunakan debugger

コメント

タイトルとURLをコピーしました