Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的PHP注册表单有什么问题?_Php_Mysql_Forms_Login - Fatal编程技术网

我的PHP注册表单有什么问题?

我的PHP注册表单有什么问题?,php,mysql,forms,login,Php,Mysql,Forms,Login,我的PHP/SQL表单代码没有输出任何内容。我试着调试它并回显变量,但仍然没有成功。在一些情况下,我对echos进行了注释以进行调试,但它们不起作用。我对高级php了解不多,我认为错误与SQL数据库连接有关,但or die不起作用。我是初学者 <?php define('DEBUG', TRUE); echo "Starting...<br>"; //TIMEZONE SET date_default_timezone_set('America/New_York'); //VE

我的PHP/SQL表单代码没有输出任何内容。我试着调试它并回显变量,但仍然没有成功。在一些情况下,我对echos进行了注释以进行调试,但它们不起作用。我对高级php了解不多,我认为错误与SQL数据库连接有关,但or die不起作用。我是初学者

<?php
define('DEBUG', TRUE);
echo "Starting...<br>";
//TIMEZONE SET
date_default_timezone_set('America/New_York');
//VERSION VARIABLES--------------------------------------------------------------------        -----------
$sysversion = '1';
//TIME DEPENDANT VARIABLES-------------------------------------------------------------    ------------
$maxyear = '2004';
$minyear = '1890';
//USER INPUT VARIABLES-----------------------------------------------------------------------------
$email = mysql_real_escape_string($_POST['email']);
$username = mysql_real_escape_string($_POST['username']);
$pass1 = mysql_real_escape_string($_POST['pass1']);
$pass2 = mysql_real_escape_string($_POST['pass2']);
$first = mysql_real_escape_string($_POST['first']);
$last = mysql_real_escape_string($_POST['last']);
$sex = mysql_real_escape_string($_POST['sex']);
$bdaymonth = mysql_real_escape_string($_POST['bdaymonth']);
$bdayday = mysql_real_escape_string($_POST['bdayday']);
$byear = mysql_real_escape_string($_POST['bdayyear']);
$country = mysql_real_escape_string($_POST['country']);
$telcc = mysql_real_escape_string($_POST['telcc']);
$ac = mysql_real_escape_string($_POST['ac']);
$exc = mysql_real_escape_string($_POST['exc']);
$sta = mysql_real_escape_string($_POST['sta']);
$teltype = mysql_real_escape_string($_POST['teltype']);
$question = mysql_real_escape_string($_POST['question']);
$answer = mysql_real_escape_string($_POST['answer']);

//LOGICAL VARIABLES----------------------------------------------------------------------------------
if($pass1 == $pass2)
{
$password = $pass1;
}
echo "<br>$password<br>";
else
{
        echo "<script type='text/javascript'>\n";
        echo "alert('The passwords do not match.');\n";
        echo "window.location = 'http://nematznetwork.no-    ip.org/login/register.htm';\n";
        echo "</script>";
        echo 'PASS_ERROR';
}
if($byear < $maxyear)
{
$bdayyear = $byear;
echo "$bdayyear<br>";
}
else
{
        echo "<script type='text/javascript'>\n";
        echo "alert('You must be 10 years old to register.');\n";
        echo "window.location = 'http://nematznetwork.no-ip.org/login/register.htm';\n";
        echo "</script>";
        echo 'ERROR';
}
if($byear > $minyear)
{
$bdayyear = $byear;
echo "$bdayyear<br>";
}
else
{
        echo "<script type='text/javascript'>\n";
        echo "alert('You are older than the worlds oldest person. Please enter     your correct age.');\n";
        echo "window.location = 'http://nematznetwork.no-    ip.org/login/register.htm';\n";
        echo "</script>";
        echo 'ERROR';
}
$telnum = "$ac$exc$sta";
echo "$telnum<br>";
$regdate = date('Ymd,H:i:s');
echo "$regdate<br>";
function create($username, $password)
    {
        //MYSQL HEADERS----------------------------------------------------------------------------------------------------
        $database = mysql_connect("localhost" , "root" , "PassWord123456789");
           if(!$database)
        {
            if(DEBUG)
            {
            die("Failed to connect to database: " . mysql_error());
        }
            return FALASE;
        }
    echo "$database<br>";
        mysql_select_db("nematznetwork", $database);
        //MYSQL WRITE QUERY--------------------------------------------------------------------------------------------------
        $queryw = "
        INSERT INTO users (email, username, password, first, last, sex,     bdaymonth, bdayday, bdayyear, country, telcc, telnum, teltype, question, answer, sysversion, regdate) 
        VALUES($email, $username, $password, $first, $last, $sex, $bdaymonth,     $bdayday, $bdayyear, $country, $telcc, $telnum, $teltype, $question, $answer, $sysversion, $regdate)
        ";
        //MYSQL INSERT COMMAND
        mysql_query ($queryw, $database)
        //GET USER ID
        $queryr = "SELECT * FROM users WHERE username = '" . $username ."'";
    echo "$queryr<br>";
    $resource = mysql_query($queryr, $database);
    if(!$resource)
    {
        if(DEBUG)
        {
            die("Failed to query database: " . mysql_error());
        }
        return FALASE;
    }
        //echo "$resource<br>";
    $result = mysql_fetch_assoc($resource);
        //echo "$result<br>";
    $id = $result['ID'];
        //echo "$id<br>";
    //MAKE USER DIRECTORY
    $path = './../users/' . $id . '/';
        //echo "$path<br>";
    mkdir($path)
        //WRITE HTML FILES
    $file = './../users/' . $id . '/default.htm';
        //echo "$file<br>";
    $write = '<html>\n<head>\n<meta http-equiv="Content-Language" content="en-us">\n<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\n<title>' . $first $last . '- NematzNetwork</title>\n</head>\n<body bgcolor="#FFFFFF" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">\n<iframe src=../../menu.htm width="100%" height="45" frameborder="0" scrolling="no" target="_parent"></iframe>\n<iframe src="body.htm" width="100%" height="90%" frameborder="0">\n</body target="_parent">\n</html>';
        //echo "$write<br>";
    file_put_contents($file , $write);
    $file2 = './../users/' . $id . '/body.htm';
        //echo "$file2<br>";
    $write2 = '<html>\n<head>\n<meta http-equiv="Content-Language" content="en-us">\n<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\n<title>NematzNetwork</title>\n<base target="_parent" />\n</head>\n<body bgcolor="#FFFFFF">\n\n</body>\n</html>';
        //echo "$write2<br>";
    file_put_contents($file2 , $write2);
    //REDIRECT TO LOGIN PAGE-------------------------------------------------------------------------------------------------
    //echo "<script type='text/javascript'>\n";
    //echo "window.location = 'http://nematznetwork.no-ip.org/login/default.htm';\n";
    //echo "</script>";
}

您只连接到一个函数中的数据库,当您执行长序列的
mysql\u real\u escape\u string()
函数时,该函数未执行。m_r_e_s()必须有一个有效/开放的DB连接才能运行,因此您所做的只是为所有这些变量分配一个布尔值FALSE-失败时m_e_s()返回的错误值

然后,通过在函数的查询调用中使用范围外变量来复合错误,因此插入NULL/unset变量。基本PHP范围规则:

<?php
$foo = 'bar';
function baz() {
   echo $foo; // undefined function, because $foo is not in-scope
}

你完全做错了

  • 您有函数create(),但没有调用它
  • 不要使用mysql.*
  • 如果要将变量保留在函数之外,请使用全局变量。“全局$email、$first、$last、$sex、$bdaymonth、$bdayday、$byear、$country、$telcc、$ac、$exc、$sta、$teltype、$question、$answer;”
  • 清理代码。它几乎不可读。有关更多信息,请阅读:

  • 要跟踪未出现的问题,请尝试添加

    ini_set('display_errors', 1);
    error_reporting(E_ALL);
    

    如果默认的php配置抑制了php错误,这将强制显示php错误。

    如果您必须发布那么多代码,您自己没有做足够的故障排除。我刚刚发布了整个文档我知道mysql,但我在2K系统上使用5.1,所以我认为这与此无关。我删除了该函数,并将DB connect信息放在第一行,但它仍然不起作用。是的,我今天这样做了,并发现了一些语法错误。经过一些调试后,它起作用了,你知道小错误、缺少分号、错误的引号、额外的括号等等。。。