0

我根据从 PHP 书籍中学到的点点滴滴创建了一个注册脚本。不幸的是,在本地主机上测试时(提交测试注册页面后),它会在浏览器中显示 PHP 脚本的来源。有什么我做错了吗?有谁知道任何开源注册脚本?

谢谢

<?php

$submitted = $_POST["submitted"];
if ($submitted == 'yes') {

    $firstName = mysql_real_escape_string($_POST["firstName"]);
    $lastName = mysql_real_escape_string($_POST["lastName"]);
    $eMail = mysql_real_escape_string($_POST["eMail"]);
    $password = mysql_real_escape_string($_POST["password"]);
    $confirmPassword = mysql_real_escape_string($_POST["confirmPassword"]);

    // Kill script if input fields are blank
    if ($firstName == '' or $lastName == '' or $eMail == '' or $password == '' or $confirmPassword == '') {
        die();
    }

    // Check if passwords match
    if ($password != $confirmPassword) {
        die();
    }

    // Check if password is appropriat length
    $passwordLength = strlen($password);
    if ($passwordLength < 6 or $passwordLength > 30) {
        die();
    }


    //////////////////////////
    // Insert into database //
    //////////////////////////
    // Signup time in Unix Epoch
    $time = time();

    // Human readable date
    $date = date("F jS, Y  g:i:s A");

    $sql = "INSERT into userInfo (firstName, lastName, password, eMail, time, date) VALUES ('$firstName', '$lastName', '$password', '$eMail', '$time', '$date')";
    $sqlserver = "localhost";
    $sqluser = "xxxxxx";
    $sqlpassword = "xxxxxx";


    mysql_connect($sqlserver, $sqluser, $sqlpassword) or die(mysql_error());

    mysql_select_db("store");

    // Check database if username already exists  
    $newEmail = $eMail;
    $checkUsername = mysql_query("SELECT eMail FROM userinfo WHERE eMail = '$newEmail'");
    $numRows = mysql_num_rows($checkUsername);
    if ($numRows > 0) {
        die();
    }

    mysql_query($sql) or die(mysql_error());

    mysql_close();

    header("Location: http://store.viddir.com/login/");
    exit;
} else {
    die();
}
?>
4

2 回答 2

1

您一定没有执行 php 文件扩展名。这就是它返回 PHP 源代码的原因。

于 2013-09-12T16:43:55.163 回答
1

您的 php 代码不会被解释。原因可能是:

  1. 你没有用.php扩展名命名你的文件。
  2. 您没有在本地服务器上运行它。
    • 您是否启动了本地服务器?
  3. 您没有使用良好的协议(file://而不是http://)。
    • 当您在文件资源管理器中双击文件时可能会发生这种情况。

确保您的 URL 看起来像http://localhost/folder/stuff.php,如果您使用的是 MAMP、WAMP 或 XAMP,请检查 apache 的活动端口,并将其附加到您的 url,例如:(localhost:8080如果我没记错的话,MAMP 的默认端口)。

提醒:PHP 是服务器端客户端,需要服务器来解释它(与 HTML 不同)。

于 2013-09-12T16:44:40.780 回答