2016-09-23 93 views
-2

它几个小时后就工作得很好,但现在它在浏览器中显示代码而不是执行它。复查三次代码,文件扩展名为检查,甚至重新输入整个代码到一个新的PHP,这个错误是困扰我。php代码在屏幕上打印出来而不是执行?

我的代码是这样的:

<?php include('usersign.php'); ?> 

<?php 

$servername = "localhost"; 
$dbusername = "root"; 
$dbpassword = "******"; 
$dbname = "userdatabase"; 

$username = $_POST['username']; 
$email = $_POST['email']; 
$category1 = $_POST['category1']; 
$category2 = $_POST['category2']; 
$category3 = $_POST['category3']; 
$password = $_POST['password']; 
$date = date_default_timezone_set('Asia/Kolkata'); 
$date = date('M-d,Y H:i:s'); 


$conn = new mysqli ($servername, $dbusername, $dbpassword, $dbname); 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 


$sql = "INSERT INTO user (username, email, category1, category2, category3, password, date) 
VALUES ('$username', '$email', '$category1', '$category2', '$category3', '$password', '$date')"; 
if ($conn->query($sql) === TRUE) { 
echo '<script language="javascript">'; 
echo 'alert("You have succesfully registerd with userdatabase Please login..")'; 
echo '</script>'; 
echo '<a href="usersign.php"></a>'; 
} 
else { 
    echo "ERROR" . $sql . "<br>" . $conn->error; 
} 

$conn->close(); 
?> 

任何建议表示赞赏。 ..

+0

您可以[SQL注入](http://php.net/manual/en/security.database.sql-injection.php)开放,并且确实应该使用[Prepared Statements](http:// php。 net/manual/en/mysqli.quickstart.prepared-statements.php)而不是串联你的查询。特别是因为你甚至没有逃避用户输入...从来没有永远不会使用用户输入没有正确逃脱它第一... –

+0

它的工作...我刚刚重新启动服务器。谢谢你..你为什么不把它作为答案发布...... @ MagnusEriksson – harishk

+0

添加它作为答案....作为一条经验法则,如果某件事情刚刚起作用,而且您没有改变任何事情,那么始终要重新开始它。事情有时会无声地崩溃... –

回答

0

尝试重新启动您的网络服务器,因为您说它只是工作... 如果它仍然无法正常工作,请检查您的Web服务器日志中的错误,并且最有可能获得更多信息什么是实际上还在继续。

+0

哇。没有解释的downvote。有趣的,因为这实际上解决了他的问题! –

+0

我没有做那个兄弟..我不能upvote自低信用.. – harishk

+1

不用担心,我不认为这是你。这里有很多下流者驾驶。他们有意见,但不够确定,无法公开表达。如果人们没有解释答案的错误(特别是它实际上起作用),那么对于社区的其他人来说,这并没有什么帮助。 –

相关问题