[英]PHP form either one of two text fields required
我意識到關於.asp頁也有類似的主題,但是我使用的是html表單,而php涉及導致調查的Submit操作。
我正在為其開發的客戶端希望填寫其中一個文本字段,而很難要求兩個都必須填寫。 可以是兩者之一,但不能兩者都留為空白。
我寧願不使用jquery,但是如果有必要,我將學習如何使用。 我是所有這一切的新手,只是創建表單並將其連接到數據庫需要大量的學習工作。
謝謝您的幫助,以下是我發布的HTML表單及其鏈接的php腳本。
<form action="insert.php" method="post">
Name: <input type="varchar" name="name" />
<span style="color: #F00">or</span> Email:
<input type="varchar" name="email" />
<input type="submit" />
</form>
PHP'insert.php
<?php
$con = mysql_connect("localhost","gobagtoo_1","1");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("gobagtoo_1", $con);
$sql="INSERT INTO name_email (name, email)
VALUES
('$_POST[name]','$_POST[email]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
else
$url = 'tool.html';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
mysql_close($con)
?>
中號
您應該在使用JavaScript的客戶端(在此處看到表單)和在服務器端(提交表單后的PHP)都完成此操作。
在客戶端:1.將函數添加到頁面validateForm。 2.在您的姓名和電子郵件元素中添加id屬性。 3.在表單標簽中添加一個onsubmit元素。
<html>
<head>
<script language="javascript">
function validateForm(){
var value1 = document.getElementById('nameId').value;
var value2 = document.getElementById('emailId').value;
if( value1 != "" || value2 != "" )
{
return true;
}
alert("You must enter a value");
return false;
}
</script>
</head>
<body>
<form action="insert.php" method="post" onsubmit="return validateForm();">
Name: <input type="text" name="name" id="nameId" />
<span style="color: #F00">or</span> Email: <input type="text" name="email" id="emailId" />
<input type="submit" />
</form>
</body>
</html>
在PHP方面:
<?PHP
function makeSafeish( $value ){
return mysql_escape_real_string( $value );
// If you put this in a function, you can do more w/ it. I don't use this as is but don't want to be judged by the community here for my bad use :P
}
if( strlen( $_POST['name'] ) > 0 && strlen( $_POST['email'] ) > 0 ){
$con = mysql_connect("localhost","******","******");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("*****", $con);
$sql="INSERT INTO name_email (name, email) VALUES ('".makeSafeish( $_POST["name"] )."','".makeSafeish( $_POST["email"] )."')";
if ( ! mysql_query( $sql, $con ) ) {
die('Error: ' . mysql_error());
} else {
$url = 'tool.html';
}
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
mysql_close($con); // you're not gonna get here because of the above line.
}else{
echo 'You must enter either an email or name.";
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.