提交表单时PHP服务器端错误
问题描述:
当我尝试提交表单以将其输入到我的数据库时遇到问题,当我提交表单时仍然出错。并且页面显示“该页面不可用”。请帮我解决这个问题..提交表单时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>
答
你也许可以改变:
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name="form1" id="form1">
要:
<form method="post" name="form1" id="form1">
删除操作。
答
如果您要将表单提交给同一个文件本身,则可以跳过表单的动作属性。默认情况下它将提交给当前脚本文件本身。
改变了形式的标签这样
<form method="post" name="form1" id="form1">
有时也可以经过这么尝试,但有时不是。不一致 – 2014-10-18 17:16:15
**我相信你对SQL注入攻击很开放。你需要绝望地修复它。**其次,表单是否生成,并提交到相同的PHP文件?如果不是,那么$ _SERVER ['PHP_SELF']将不起作用。 – Phizes 2014-10-18 17:17:31
我明白了,谢谢Phizes – 2014-10-18 17:36:15