我想知道包含php代碼和html表單的php文件是否存在問題。 例如: 文件中的第一部分是:單個文件中的php和html表單
<?php ...
?>
<html>...<form action = "current file"> ..... </form>
</html>
行動將把這個當前文件的名稱。
還是我必須將php代碼放在擴展名爲.php的文件中,而html代碼放在擴展名爲.html的文件中?
我想知道包含php代碼和html表單的php文件是否存在問題。 例如: 文件中的第一部分是:單個文件中的php和html表單
<?php ...
?>
<html>...<form action = "current file"> ..... </form>
</html>
行動將把這個當前文件的名稱。
還是我必須將php代碼放在擴展名爲.php的文件中,而html代碼放在擴展名爲.html的文件中?
自己測試一下 - 你可以。 您也可以在HTML標籤內使用PHP,因爲無論客戶端何時發送請求,PHP都會加載到服務器端。
客戶端發送請求 - >服務器獲取請求,並加載了PHP文件 - >服務器負載的PHP,執行PHP,並與它返回文本,或者沒有取代所有PHP對象 - >客戶端獲取已經通過服務器加載(或修改)
注意的文件:如果您使用HTML結合PHP,該文件需要擴展.PHP因爲HTML原本不支持PHP的標籤。
下面是在同一個文件中的一個php和html表單的例子。 Ofcourse文件擴展名必須是.PHP
你只需要改變 '行動= 「當前文件」' 到 '行動= 「」'
的index.php
<?php
if(isset($_POST['submit'])) {
// The things that needs to be checked and executed WHEN submitted.
$email = htmlspecialchars($_POST['Email']);
$email = strip_tags($email);
$password = htmlspecialchars($_POST['Password']);
$password = strip_tags($password);
//SQL STUFF
if ($email === $row['email'] && $password === $row['password']) {
$_SESSION['uuid'] = $row['uuid'];
header("Location: profile.php?id=". $row['uuid'] ."");
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>My Form</title>
</head>
<body>
<form action="" method="POST">
<input type="email" name="Email" placeholder="Email..." required>
<input type="password" name="Password" placeholder="Password..." required>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
不,你沒有。試試看。如果沒有進入當前頁面,您甚至不需要「操作」。 – chris85
** PHP **代碼不適用於'.html'文件擴展名。您應該將文件擴展名更改爲'.php'以獲取** PHP **代碼。 –
你可以做到這一點。 創建.htaccess文件,然後插入'AddType application/x-httpd-php .html .htm'。但我不建議將HTML文件用作PHP –