0

HTML フォームをテストしようとすると、白い画面が表示されます。これが私のコードです。

index.html

<form name="form1" method="post" action="test.php">
<textarea name="data" cols="100" rows="10">
Facebook: 
Twitter: 
Instagram:
Website: 
Comments: 
---------------------------------------------
</textarea>
<br>
<input type="submit" value="Save">
</form>

test.php

<html>
 <?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 'On');  //On or Off

$saving = $_REQUEST['saving'];
if ($saving == 1){ 
$data = $_POST['data'];
$file = "data.txt"; 

$fp = fopen($file, "a") or die("Couldn't open $file for writing!");
fwrite($fp, $data) or die("Couldn't write values to file!"); 

fclose($fp); 
echo "Saved to $file successfully!";
}
?>
</html>

ページで「ソースを表示」できますが、php ファイルで上記のコードを取得するだけです。ページのタイトルは test.php ページを表示しています。これを行う必要がありますか?PHP初心者です。前もって感謝します。

4

3 に答える 3

1

あなたがifコードに入っているとは思わない

$saving = $_REQUEST['saving'];
if ($saving == 1) { 
    $data = $_POST['data'];
    $file = "data.txt"; 
    $fp = fopen($file, "a") or die("Couldn't open $file for writing!");
    fwrite($fp, $data) or die("Couldn't write values to file!"); 

    fclose($fp); 
    echo "Saved to $file successfully!";
} else {
    echo 'Nope!';
}

この ELSE を追加してみて、「Nope」が表示されるかどうかを確認してください。

まず、$_REQUEST['Saving'] とは何ですか? フォームへの入力ではないため、おそらく何もありません。

代わりにこれを行います:

if ($_POST) { 
    $data = $_POST['data'];
    $file = "data.txt"; 
    $fp = fopen($file, "a") or die("Couldn't open $file for writing!");
    fwrite($fp, $data) or die("Couldn't write values to file!"); 

    fclose($fp); 
    echo "Saved to $file successfully!";
} else {
    echo 'Nope!';
}
于 2013-09-11T21:42:21.187 に答える
0

あなたのhtmlを変更してください:

<input type="submit" value="Save" name="saving"/>

また、パラメーターを受け入れる php を変更します。

$saving = $_REQUEST['saving'];
if ($saving) { // it is enough to just check if there is a value, the actual value is "Save"
    ...
}
于 2013-09-11T21:44:06.947 に答える