繁体   English   中英

$ _SERVER ['PHP_SELF']不起作用?

[英]$_SERVER['PHP_SELF'] doesn't work?

一切正常,直到我更改了以下代码

    <form method='post' action='re.php'>

    <form method='post' action='<?php echo $_SERVER["PHP_SELF"];?>'>

它给了我HTTP错误500。我做了一些谷歌搜索,但是仍然不知道为什么会这样! 非常感谢您的帮助!

以下是整个脚本

<?php

$hostname = 'localhost';
$username = 'Ciara';
$password = 'mypass';
$database = 'users';        

$conn = mysqli_connect($hostname,$username, $password, $database);
if (!$conn) {
    die ("Databas connect failed: " . mysqli_connect_error());
} else {
    echo "Connected successfully. <br>";
}

echo <<<_END
<html>
    <head>
        <title>Register</title>
    </head>
    <body><center>
        <form method='post' action='<?php echo $_SERVER["PHP_SELF"];?>'>
        Firstname: <input type='text' name='firstname'><br>
        Lastname: <input type='text' name='lastname'><br>
        E-mail: <input type='text' name='email'><br>
        Gender: <input type='radio' value='female' name='gender'>Female
                <input type='radio' value='male' name='gender'>Male<br>
        Username: <input type='text' name='username'><br>
        Password: <input type='text' name='password'><br>
        <input type='submit' value='Submit Form'>
        </form></center>

_END;

if (isset($_POST['firstname']) && 
    isset($_POST['lastname']) &&
    isset($_POST['email']) &&
    isset($_POST['gender']) &&
    isset($_POST['username']) &&
    isset($_POST['password'])) {

    $firstname = get($conn, 'firstname');
    $lastname = get($conn, 'lastname');
    $email = get($conn, 'email');
    $gender = get($conn, 'gender');
    $username = get($conn, 'username');
    $password = get($conn, 'password');

    $query = "insert into useracc values" . "(null, '$firstname','$lastname','$email','$gender','$username','$password')";

    if (mysqli_query($conn, $query)) {
        echo "You have successfully registered! <br>";
    } else {
        echo "Failed to register." . mysqli_error($conn);
    }
}

mysqli_close($conn);
echo "</body></html>";

function get($conn, $var) {
     return mysqli_real_escape_string($conn, $_POST[$var]);
}
?>

使用echo时,无法在HTML内添加PHP

<?php

$hostname = 'localhost';
$username = 'Ciara';
$password = '0950767';
$database = 'users';        

$conn = mysqli_connect($hostname,$username, $password, $database);
if (!$conn) {
    die ("Databas connect failed: " . mysqli_connect_error());
} else {
    echo "Connected successfully. <br>";
}

?>
<html>
    <head>
        <title>Register</title>
    </head>
    <body><center>
        <form method='post' action='<?php echo $_SERVER["PHP_SELF"];?>'>
        Firstname: <input type='text' name='firstname'><br>
        Lastname: <input type='text' name='lastname'><br>
        E-mail: <input type='text' name='email'><br>
        Gender: <input type='radio' value='female' name='gender'>Female
                <input type='radio' value='male' name='gender'>Male<br>
        Username: <input type='text' name='username'><br>
        Password: <input type='text' name='password'><br>
        <input type='submit' value='Submit Form'>
        </form></center>

<?php
if (isset($_POST['firstname']) && 
    isset($_POST['lastname']) &&
    isset($_POST['email']) &&
    isset($_POST['gender']) &&
    isset($_POST['username']) &&
    isset($_POST['password'])) {

    $firstname = get($conn, 'firstname');
    $lastname = get($conn, 'lastname');
    $email = get($conn, 'email');
    $gender = get($conn, 'gender');
    $username = get($conn, 'username');
    $password = get($conn, 'password');

    $query = "insert into useracc values" . "(null, '$firstname','$lastname','$email','$gender','$username','$password')";

    if (mysqli_query($conn, $query)) {
        echo "You have successfully registered! <br>";
    } else {
        echo "Failed to register." . mysqli_error($conn);
    }
}

mysqli_close($conn);
echo "</body></html>";

function get($conn, $var) {
     return mysqli_real_escape_string($conn, $_POST[$var]);
}
?>

检查此代码:)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM