0

次のコードでは、PHP スクリプトが変数 $name、$age、および $email を書き込む前に、'Name:'、'Age:'、および 'Email:' を含めることができるようにしたいと考えています。

それはとても簡単に思えますが、私はそれを機能させることができません!

<?php

session_start();

$name = $_SESSION['name']; 
$age = $_SESSION['age'];
$email =  $_SESSION['email'];

$handle = fopen('users.txt', 'a');
fwrite($handle, $name."\n"); 

$handle = fopen('users.txt', 'a');
fwrite($handle, $age."\n"); 

$handle = fopen('users.txt', 'a');
fwrite($handle, $email."\n"); 

fclose($handle); 

?>

私はこれを試しました:

<?php

session_start();

$name = $_SESSION['name']; 
$age = $_SESSION['age'];
$email =  $_SESSION['email'];

$handle = fopen('users.txt', 'a');
fwrite($handle, 'Name:', $name."\n"); 

$handle = fopen('users.txt', 'a');
fwrite($handle, 'Age:', $age."\n"); 

$handle = fopen('users.txt', 'a');
fwrite($handle, 'Email', $email."\n"); 

fclose($handle); 

?>

ただし、user.txt ドキュメントに出力されるのは「Age:」だけです。

どんな助けでも大歓迎です、ありがとう!

更新: 複数の fopen を削除し、「,」を「.」に置き換えました。すべてが完璧に機能しています。みんなの助けに感謝します!

4

2 に答える 2

2
<?php

session_start();

$data = array(
    'Name:'  . (isset($_SESSION['name'])  ? $_SESSION['name']  : '') ,
    'Age:'   . (isset($_SESSION['age'])   ? $_SESSION['age']   : '') ,
    'Email:' . (isset($_SESSION['email']) ? $_SESSION['email'] ; '') ,
);

if ($fp = fopen('users.txt','a')) {
    fwrite($fp,implode(PHP_EOL,$data).PHP_EOL); 
    fclose($fp);
} else {
    die('Error');
}
于 2013-05-14T06:23:44.203 に答える
0

用途はこちらが使えます

$fp = fopen('users.txt', 'a');

fwrite($fp, 'Name : '.$name . PHP_EOL);
fwrite($fp, 'Age : '.$age . PHP_EOL);
fwrite($fp, 'Email : '.$email . PHP_EOL);

fclose($fp);
于 2013-05-14T06:23:18.217 に答える