2014-10-18 23 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">