Php 如果未授予权限,请停止上载到SQL数据库
我需要在未授予权限时停止将数据上载到数据库。是否有一种方法可以终止会话,并且仅在授予权限的情况下才允许我的脚本上载数据 第1页:Php 如果未授予权限,请停止上载到SQL数据库,php,sql,Php,Sql,我需要在未授予权限时停止将数据上载到数据库。是否有一种方法可以终止会话,并且仅在授予权限的情况下才允许我的脚本上载数据 第1页: <?php session_start(); $_SESSION['user']='studentadmin'; ?> <!DOCTYPE html> <html> <head> <style > body {background-color: rgb(255,66,69);} h3{font-size:
<?php
session_start();
$_SESSION['user']='studentadmin';
?>
<!DOCTYPE html>
<html>
<head>
<style >
body {background-color: rgb(255,66,69);}
h3{font-size: 250%};
h4{font-size: xx-small;}
</style>
<title>Student Examinations 2017 </title>
<body>
<font style="font-family: Arial;";
<h4>Chichester Secondary School</h2>
<div align="center">
<h3>End of Year Examinations 2017</h1>
<i><p>Using the form below please submit examination results for the end of the academic year.</p></i>
<i><p>This years results are represented with the new government grading system. '9-1' rather than 'A*-G' </i></p>
<form action="MySQL.php" method="POST"><br>
<b> <br> Student: </b><br>
<br> First Name <br>
<input type="text" name="fname"><br/>
Last Name <br>
<input type="text" name="lname"><br/>
<br>
<br><b>Exam Board: <br></b><br>
<input type="radio" name = "examboard" value="AQA" checked> AQA
<input type="radio" name = "examboard" value="EdExcel" checked> EdExcel <br><br>
<b><br>Subject Grades: </b><br>
<br>
English<br>
<select name="Grade">
<option value="-">-</option>
<option value="9">9</option>
<option value="8">8</option>
<option value="7">7</option>
<option value="6">6</option>
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select><br>
Maths<br>
<select name="Grade2">
<option value="-">-</option>
<option value="9">9</option>
<option value="8">8</option>
<option value="7">7</option>
<option value="6">6</option>
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select><br>
Science<br>
<select name="Grade3">
<option value="-">-</option>
<option value="9">9</option>
<option value="8">8</option>
<option value="7">7</option>
<option value="6">6</option>
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select><br>
<br> Additional Comments <br>
<textarea name ="additionalcomments" rows="2" cols="30"></textarea><br/>
<input type="submit" name="submit">
<input type="reset" name="reset">
<br>
</head>
</form>
</body>
</html>
正文{背景色:rgb(255,66,69);}
h3{字体大小:250%};
h4{字体大小:xx小;}
2017年学生考试
当某人“没有权限”时,你会这样做:
echo 'You do not have permission to access this page. ';
你只是告诉他们他们没有许可。但是您仍然要继续执行代码。如果希望脚本停止处理,则类似于exit
命令的操作将完成以下操作:
exit('do not have permission to access this page. ');
同样值得注意的是。。。您正在输出一条消息,指示在实际将任何内容插入数据库之前已成功插入记录。那是。。。乐观的。只有在操作成功时,才应该向用户指示成功。如果操作以某种方式失败,您的用户将非常困惑。以下是启动代码的方式:
<?php
session_start();
$_SESSION['user']='studentadmin';
?>
正如David已经指出的,在这里,如果没有$\u会话['user']
,那么您只需回显一条消息并继续。这里需要他建议使用exit,但前提是您删除了为会话['user']
赋值的部分。但是,损坏已经造成,用户已经被视为studentadmin
。我建议您从现在开始使用不同的密钥,例如$\u SESSION['username']
,这样旧的、无效的$\u SESSION['user']
值将不允许不允许的事情?但是,只有当您有一个正确的登录屏幕,人们在其中输入他们的凭据时,这才起作用。这些凭据依次经过验证,并且只有在凭据有效的情况下,您才存储会话['username']。仍在为数据库创建条目。@ZakComber:那么您正在检查的条件不起作用,可能是因为你在某个地方做出的假设是不正确的。具体发生了什么?当你调试代码时,失败的具体原因是什么?我不知道,我是编程新手。@ZakComber:那么我想从PHP入门教程开始吧?至少,为了解决代码中的任何问题,您必须能够观察代码的结果。我们无法在您的计算机上为您调试此程序。在代码中放置有用的echo
语句,以输出有用的信息(变量的运行时值等),并查看页面上的输出。使用该选项可以更具体地确定代码执行时发生的情况。@David您的建议是有效的,但是,您的解决方案本身无法解决问题的原因是他有$_会话['user']='studentadmin';在他的代码开始时,代码将永远不会进入您所说的其他代码。如何实现一些验证而不是终止会话。
<?php
session_start();
$_SESSION['user']='studentadmin';
?>
session_start();
if (isset($_SESSION ['user'])) {
echo "Student record successfully created by user: " .$_SESSION['user'];
unset($_SESSION['user']);
} else {
echo 'You do not have permission to access this page. ';
}