0

在以下代码中,我希望能够在 PHP 脚本写入变量 $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 文档中打印的所有内容都是“年龄:”。

任何帮助将不胜感激,谢谢!

更新:删除了多个 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 回答