它幾個小時後就工作得很好,但現在它在瀏覽器中顯示代碼而不是執行它。複查三次代碼,文件擴展名爲檢查,甚至重新輸入整個代碼到一個新的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();
?>
任何建議表示讚賞。 ..
您可以[SQL注入](http://php.net/manual/en/security.database.sql-injection.php)開放,並且確實應該使用[Prepared Statements](http:// php。 net/manual/en/mysqli.quickstart.prepared-statements.php)而不是串聯你的查詢。特別是因爲你甚至沒有逃避用戶輸入...從來沒有永遠不會使用用戶輸入沒有正確逃脫它第一... –
它的工作...我剛剛重新啓動服務器。謝謝你..你爲什麼不把它作爲答案發布...... @ MagnusEriksson – harishk
添加它作爲答案....作爲一條經驗法則,如果某件事情剛剛起作用,而且您沒有改變任何事情,那麼始終要重新開始它。事情有時會無聲地崩潰... –