无法将php代码添加到变量?

无法将php代码添加到变量?,php,file,Php,File,每次用户注册我的网站时,我都会尝试创建一个PHP文件。我使用以下代码在我的register.php中创建文件: 问题是,我的create file函数可以工作,但是变量$data不会给出任何结果。当我将$data作为一个变量在不同的PHP文件中运行时,它仍然不起作用 设置变量时我做错了什么 // STARTING to create a file $my_file = "$username.php"; $handle = fopen("give/$my_file", 'w

每次用户注册我的网站时,我都会尝试创建一个PHP文件。我使用以下代码在我的
register.php
中创建文件:

问题是,我的create file函数可以工作,但是变量
$data
不会给出任何结果。当我将
$data
作为一个变量在不同的PHP文件中运行时,它仍然不起作用

设置变量时我做错了什么

    // STARTING to create a file
    $my_file = "$username.php";
    $handle = fopen("give/$my_file", 'w') or die('Cannot open file:  '.$my_file);

    //----------- BEGINNING OF THE PHP DATA TO WRITE TO NEW FILE ----------
    $data = "<? 
require('../config.inc.php');
$damned_user = $username;
if ( $_COOKIE['damn_given'] != TRUE ) {
$sql = mysql_query(\"SELECT * FROM users WHERE username='$damned_user' LIMIT 1\");
    if(mysql_num_rows($sql) == 1){
        $row = mysql_fetch_array($sql);
        // $row['field'];
        $damned_user_id = $row['id'];
        if($_SESSION['id'] == $damned_user_id) {
        } else {
        $taken = $row['taken_damns'];
        $taken_damns = $taken + 1;
        $taking_sql = \"UPDATE users SET taken_damns='$taken_damns' WHERE username='$damned_user' \";
        if (mysql_query($taking_sql)) {
            setcookie(\"damn_given\", TRUE, time()+3600*24);
            $date = date(\"Y-m-d H:i:s\");

            $ip = $_SERVER['REMOTE_ADDR'];
            $damns_table = \"INSERT INTO damns (id, from_ip, user_damned, when_damned) VALUES ('','$ip','$damned_user','$date') \";
                if ( mysql_query($damns_table)) {

                }   else {
                    echo \"Couldn't save damn to damns table in database!\";
                }
            if ( $_SESSION['logged'] == TRUE ) {
                $session_id = $_SESSION['id'];
                $giving_sql = \"UPDATE users SET given_damns='$taken_damns' WHERE id='$session_id'\";

                if ( mysql_query($giving_sql ) ) {

                }   else {
                    echo ('Error giving damn!');
                }
            } 
        }
        else 
        {
            die (\"Error taking damn!\");
        }
        }
    }   else {
        die(\"Error first sql!\");
    }
}
?>
<html>
<head>
        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
    <link rel=\"stylesheet\" href=\"/_common.css\" />
    <link rel=\"stylesheet\" href=\"/_col_white.css\" />
    <link rel=\"shortcut icon\" href=\"/favicon.ico\" />    <title>DamnIt.tk - Damned!</title>
</head>
<body>
    <div id=\"main\">
    <div class=\"center\"><a href=\"/\"><img src=\"/_bnr_white.png\" style=\"width: 500px; height: 100px;\" alt=\"DamnIt Banner\" /></a></div>
    <table class=\"tmid\" style=\"width: 100%;\"><tr>
                    <td class=\"center\" style=\"width: 25%;\"><a href=\"/profile\">Profile</a></td>
            <td class=\"center\" style=\"width: 25%;\"><a href=\"/options\">Options</a></td>
            <td class=\"center\" style=\"width: 25%;\"><a href=\"/stats\">Stats</a></td>
            <td class=\"center\" style=\"width: 25%;\"><a href=\"/logout\">Log out</a></td>
            </tr></table>   <h1>Give a Damn</h1>
        <? 
if ( isset($_COOKIE['damn_given'])) {
    ?>
        <h2>You have already given a Damn to <? echo $damned_user ?> today!</h2><h3>Couldn't damn - try again tomorrow.</h3>    
        <?
}
elseif ( $_SESSION['id'] == $damned_user_id ) {
    ?>
        <h2>You cannot damn yourself!</h2>
        <?
}    else{ ?> <h2>Damn given!</h2><h3>You have given a Damn to <? echo $damned_user ?>.</h3> <? } ?>
</div></body>
</html>"; 

    //------- END OF PHP WHICH MUST BE WRITTEN TO NEW FILE ---------
    fwrite($handle, $data);
    fclose($handle);
    // finished with the file
//开始创建文件
$my_file=“$username.php”;
$handle=fopen(“give/$my_file”,“w”)或die(“无法打开文件:”。$my_file);
//-----------开始将PHP数据写入新文件----------
$data=”
你不能自取灭亡!
该死的!你真该死。
"; 
//-------必须写入新文件的PHP结束---------
fwrite($handle,$data);
fclose($handle);
//完成文件
立即试用文档:

$data = <<<'END'
Your PHP code here
END;

我正在测试我的php技能。已经4年了。我没有生气,我只是好奇,因为你有引用giving damns的代码,你试图生成与我相同的URL(
/give/USERNAME
),这让我很好奇。是的。htaccess:D对我来说太复杂了。当我输入时,它也要求give.php。你的错误报告提供了一些建议。@NiettheDarkAbsol:我会注册的,但我一点也不在乎;)我真的不想帮你。你做错了。永远不需要从PHP内部将PHP写入文件(除非在极少数情况下)。你最好使用我给你的简单的
.htaccess
或者仅仅使用
copy
将文件从已知版本复制到它的目标!您非常容易接受SQL注入。每个人都可以换饼干。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。要理解为什么像这样动态创建PHP文件是个坏主意,请想象一下当您需要修复生成的代码中的错误或添加其他功能时会发生什么。无论如何,您都有一个数据库,所以您可以使用PHP代码的一个副本在不同的页面上读取任何需要不同的内容。
RewriteEngine on
RewriteRule give/(.*) give.php?user=$1 [L]