邮件功能 - 致命错误:函数名称必须是字符串

时间:2012-04-21 09:51:58

标签: php

这里需要一些帮助 - 我有一个向用户提供数据的表格:用户可以选择更新表格。如果表格已更新,我想生成一封包含该(更新)数据的电子邮件。到目前为止清楚了吗?

当我运行代码时,它会更新数据库但发送以下错误 -

Fatal error: Function name must be a string in C:\xampp\htdocs\mlac\mlac_member2.php on line 226

好的 - 这是相关的代码(我遗漏了剩下的部分,因为它没有为这个问题增加任何内容):

<?php

if (isset($_GET['view']))
    {
    $user = sanitizeString($_GET['view']);




    $data = "SELECT * FROM names WHERE id='$user'";
    $result=mysql_query($data) or die(mysql_error());

    while($row=mysql_fetch_array($result)){

?>

HTML     
        
    

    <caption>Personal Record</caption>

<tr>
<th>ID</th>
    <td><?php
        echo $row['id'];
     ?></td>
</tr>

<tr>
<th>Name</th>
    <td><?php
        echo $row['name'];
     ?></td>
</tr>

<tr>
<th>E-Mail</th>
    <td><?php
        echo $row['email'];
     ?></td>
</tr>

<tr>
<th>Main Telephone</th>
    <td><?php
        echo $row['maintel'];
     ?></td>
</tr>

<tr>
<th>Mobile Telephone</th>
    <td><?php
        echo $row['mobtel'];
     ?></td>
</tr>

<tr>
<th>Organisation</th>
    <td><?php
        echo $row['organisation'];
     ?></td>
</tr>

<tr>
<th>Group Leader</th>
    <td><?php
        echo $row['group_leader'];
     ?></td>
</tr>

<tr>
<th>Supervisor</th>
    <td><?php
        echo $row['supervisor'];
     ?></td>
</tr>

<tr>
<th>Volunteer</th>
    <td><?php
        echo $row['volunteer'];
     ?></td>
</tr>

<tr>
<th>Assessor</th>
    <td><?php
        echo $row['assessor'];

        }
        }
     ?></td>
</tr>

</table>


    <br />
    <form method="post" action="update.php">
        <input name="Submit1" type="submit" value="Edit" style="width: 67px" /></form>

    <p>&nbsp;</p>

[/ HTML]

<?php   

$to='xy@sth.com';
$subject='Test Script';

$name=$row('name');
$email=$row('email');
$phone=$row('mobtel');
$message=("Name:  ").$name. ("\r\n") . ("Email:  ") .$email . ("\r\n") . ("Phone:  ")    .$phone;


mail($to,$subject,$message);

?>

如果sanyone可以提供帮助,我将不胜感激。

此致

2 个答案:

答案 0 :(得分:1)

$row不是函数,它是一个数组(我猜)。

$name=$row['name'];
$email=$row['email'];
$phone=$row['mobtel'];

答案 1 :(得分:0)

$name=$row['name'];
$email=$row['email'];
$phone=$row['mobtel'];

bažmegakapa所说的是正确的......并且还删除了以下行中的括号。

$message="Name:  ".$name. "\r\n" . "Email:  " .$email . "\r\n". "Phone:  ".$phone;

如果您想在邮件中添加标题,请尝试使用

$headers1  = "MIME-Version: 1.0\r\n";

$headers1 .= "Content-type: text/html; charset=iso-8859-1\r\n";

$headers1 .= "From: $fromurl\r\n";



@mail($to, $subject , $message, $headers1);