2012-04-21 165 views
-2

在这里需要一些帮助 - 我有一个向用户显示数据的表格:用户可以选择更新表格。如果表格已更新,我想用随附的(更新的)数据生成一封电子邮件。目前清除?邮件功能 - 致命错误:函数名称必须是字符串

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

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='[email protected]'; 
$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可以帮助我将不胜感激。

问候,

+0

试试这个$名称= $行[ '名称'];也可用于其他行元素 – 2012-04-21 09:56:23

+1

下次请指出哪一个是'226行'。 – kapa 2012-04-21 09:57:01

回答

1

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

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

谢谢你们!这似乎解决了一个问题。 – Hamish 2012-04-21 10:15:24

+0

但我现在得到,“警告:邮件()[函数。邮件]:”sendmail_from“未在php.ini中设置或自定义”发件人:“标题缺失在C:\ xampp” – Hamish 2012-04-21 10:15:53

+0

我有一个'页眉连接到在这个页面中我定义了各种函数,但是我明白'mail()'函数是php的通用函数,不需要每次都定义。 – Hamish 2012-04-21 10:17:23

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); 
+0

那里的括号没有问题。尽管它们是不必要的,但它们在语法上是正确的。 – kapa 2012-04-21 10:17:27

相关问题