2014-10-18 83 views
-1

當我嘗試提交表單以將其輸入到我的數據庫時遇到問題,當我提交表單時仍然出錯。並且頁面顯示「該頁面不可用」。請幫我解決這個問題..提交表單時PHP服務器端錯誤

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Guest Book</title> 

<link href="http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700,900" rel="stylesheet" /> 
<link href="default.css" rel="stylesheet" type="text/css" media="all" /> 
<link href="fonts.css" rel="stylesheet" type="text/css" media="all" /> 

我使用本地主機 名爲 「寶貝」 的數據庫和數據庫的字段是ID(AUTO_INCREMENT),非農產品市場準入,kelamin,nomorhp,alamat和keterangan。

<script> 
<?php 
$link = mysql_connect("localhost", "root", ""); 
if (!$link) 
    die("Tidak Dapat mengoneksikan: " . mysql_error()); 
    else 
     mysql_select_db("precious"); 
     if($_POST['Simpan']) 
     { 
      if(empty($_POST['nama']) || empty($_POST['kelamin']) || empty($_POST['nomorhp'])|| empty($_POST['alamat'])|| empty($_POST['keterangan'])) 
     { 
      echo " 
       (alert(\"Data tidak boleh kosong\"))"; 
     } 
     else 
     { 
      $query = mysql_query("INSERT INTO tbl_tamu(nama, kelamin, nomorhp, alamat, keterangan) 
      VALUES 
      ('".$_POST['nama']."','".$_POST['kelamin']."','".$_POST['nomorhp']."','".$_POST['alamat']."','".$_POST['keterangan']."')"); 
      if($query) 
      echo" 
       (alert(\"Data berhasil disimpan. \"))"; 
      } 
     } 
?> 
</script> 

<?php 
if(isset($_POST["nama"])) 
{ $nama=$_POST["nama"]; } 
else { $nama=""; } 

if(isset($_POST["kelamin"])) 
{ $kelamin=$_POST["kelamin"]; } 
else { $kelamin=""; } 

if(isset($_POST["nomorhp"])) 
{ $nomorhp=$_POST["nomorhp"]; } 
else { $nomorhp=""; } 

if(isset($_POST["alamat"])) 
{ $alamat=$_POST["alamat"]; } 
else { $alamat=""; } 

if(isset($_POST["keterangan"])) 
{ $keterangan=$_POST["keterangan"]; } 
else { $keterangan=""; } 

?> 

</head> 

<body> 
<div id="header-wrapper"> 
<div id="header" class="container"> 
    <div id="logo"> 
    <h1> <a> Guest Book </a> </h1> 
    </div> 
</div> 
<div id="menu"> 
    <ul> 
    <li><a href="index.html" accesskey="1" title="">Homepage</a></li> 
    <li><a href="#" accesskey="2" title="">Our Gallery</a></li> 
    <li class="active"><a href="testimonial.php" accesskey="3" title="">Guest Book</a>  </li> 
    <li><a href="#" accesskey="4" title="">About Us</a></li> 
    <li><a href="#" accesskey="5" title="">Contact Us</a></li> 
    </ul> 
</div> 
<div id="bannert" class="container"> 
    <span>WHO HAS BEEN COME?</span> 
</div> 
</div> 

<div id="wrapper"> 
<div id="staff" class="container"> 
    <div class="title"> 
     <h2>GUESTS DATA ENTRY </h2> 
     <span> Input the data below </span> 
    </div> 

錯誤可能在表單中,但我懷疑php_self。在形式.. 我想這些被保存在一個名爲「寶貝」

<div class="FormTamu"> 
    <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name="form1" id="form1"> 

     <label> Nama Lengkap </label> 
     <input name="nama" type="text" id="nama "size="30" maxlength="30" /> 

     <label> Jenis Kelamin </label> 
     <br/> <input name="kelamin" type="radio" value="Laki-laki"/> Laki-laki 
     <input name="kelamin" type="radio" value="Perempuan"/> Perempuan 
     <label> Nomor HP </label> 
    <input name="nomorhp" type="text" id="nomorhp" size="30" maxlength="14" /> 

     <label> Alamat </label> 
     <textarea name="alamat" id="alamat" cols="24" rows="4"></textarea> 
     <label> Keterangan </label> 
     <textarea name="keterangan" id="keterangan" cols="24" rows="2"></textarea> 

     <input name="Simpan" type="Submit" id="Simpan" class="button" value="Submit" /> 
    </form> 


    <?php 
$query = mysql_query("SELECT * FROM tbl_tamu"); 
$jumlah = mysql_num_rows($query); 
    ?>  

    </div> 
    <p><a href="data_tamu.php"> Lihat data</a> (Total jumlah data ada 
<b><?php echo $jumlah ?></b> tamu) </p> 

它鏈接到名爲「data_tamu」其他頁面的數據庫。看到我們網站的客人名單。 我認爲這是正確的,但只顯示「網頁未找到」當我提出,這讓我迷惑

</div> 
</body> 
</html> 
+0

有時也可以經過這麼嘗試,但有時不是。不一致 – 2014-10-18 17:16:15

+0

**我相信你對SQL注入攻擊很開放。你需要絕望地修復它。**其次,表單是否生成,並提交到相同的PHP文件?如果不是,那麼$ _SERVER ['PHP_SELF']將不起作用。 – Phizes 2014-10-18 17:17:31

+0

我明白了,謝謝Phizes – 2014-10-18 17:36:15

回答

0

你也許可以改變:

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name="form1" id="form1"> 

要:

<form method="post" name="form1" id="form1"> 

刪除操作。

0

如果您要將表單提交給同一個文件本身,則可以跳過表單的動作屬性。默認情況下它將提交給當前腳本文件本身。

改變了形式的標籤這樣

<form method="post" name="form1" id="form1">