Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果未授予权限,请停止上载到SQL数据库_Php_Sql - Fatal编程技术网

Php 如果未授予权限,请停止上载到SQL数据库

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:

我需要在未授予权限时停止将数据上载到数据库。是否有一种方法可以终止会话,并且仅在授予权限的情况下才允许我的脚本上载数据

第1页:

<?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. ';
}