菜鸟问题:我哪里出错了?关于define

ahaosky 2008-11-25 03:29:48
下面是我写的一个stmp发邮件的代码

form.php

<form action="send.php" method="POST">
留言: <input type="text" id="textinput" name="message" size="20" />
<input type="submit" value="提交" />
</form>


send.php

<?php
header("content-type:text/html; charset=utf-8");
require_once 'config.php';
include "smtp.class.php";
$smtpserver = SMTPSERVER;
$port = PORT ;
$smtpuser = SMTPUSER;
$smtppwd = SMTPPWD;
$mailtype = MAILTYPE;
$sender = SENDER;
$smtp = new smtp($smtpserver,$port,true,$smtpuser,$smtppwd,$sender);
$smtp->debug = false;
$to = TO;
$subject = SUBJECT;
$body = MESSAGE;
$send=$smtp->sendmail($to,$sender,$subject,$body,$mailtype);
if($send==1){
echo SUCCESSFULLY;
}else{
echo UNSUCCESSFULLY;
echo "causation:".$smtp->logs;
}
?>


config.php

<?php
define('SMTPSERVER','smtp.mail.yahoo.com');
define('PORT','25');
define('SMTPUSER','abc');
define('SMTPPWD','123');
define('MAILTYPE','HTML');
define('SENDER','abc');
define('TO','abc@yahoo.com');
define('SUBJECT','新留言');
define('MESSAGE','$message');
define('SUCCESSFULLY','发送成功!');
define('UNSUCCESSFULLY','发送失败!');
?>


smtp.class.php




我知道直接在send.php里写“$body = "$message";”就没问题,但是我想做个后台让管理员修改$message的文字模板,所以放在config.php里了,结果出错了,呵呵,请高手解答
...全文
169 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahaosky 2008-11-25
  • 打赏
  • 举报
回复
jakey9826你很热心,但我同时很菜,所以不知道怎么继续写。

可以帮我把那3个文件都改好吗?呵呵?
程序猿之殇 2008-11-25
  • 打赏
  • 举报
回复

1 建立模板文件,当然其它的配置你也可以设置和消息一样的形式.
读取模板文件,获取表单上提交的信息,替换模板中{message},写入config.php.
config.tpl.php
<?php
define('SMTPSERVER','smtp.mail.yahoo.com');
define('PORT','25');
define('SMTPUSER','abc');
define('SMTPPWD','123');
define('MAILTYPE','HTML');
define('SENDER','abc');
define('TO','abc@yahoo.com');
define('SUBJECT','新留言');
define('MESSAGE','{message}');
define('SUCCESSFULLY','发送成功!');
define('UNSUCCESSFULLY','发送失败!');
?>

2 当然你也可以直接读写文件,进行操作.
xiayong404 2008-11-25
  • 打赏
  • 举报
回复
define() 函数是定义一个常量,而你这样define('MESSAGE','$message'); 写的话,就是定义一个变量了。所以错误就在这
dzxccsu 2008-11-25
  • 打赏
  • 举报
回复
define('MESSAGE','$message');
不能定义变量!
jlokys 2008-11-25
  • 打赏
  • 举报
回复
define('MESSAGE',$message);
define('MESSAGE',"$message");
程序猿之殇 2008-11-25
  • 打赏
  • 举报
回复

//config.tpl.php
<?php
define('SMTPSERVER','smtp.mail.yahoo.com');
define('PORT','25');
define('SMTPUSER','abc');
define('SMTPPWD','123');
define('MAILTYPE','HTML');
define('SENDER','abc');
define('TO','abc@yahoo.com');
define('SUBJECT','新留言');
define('MESSAGE','{message}');
define('SUCCESSFULLY','发送成功!');
define('UNSUCCESSFULLY','发送失败!');
?>
//send.php
<?php
if($_POST['submit'] != "")
{
$strContent = file_get_contents("config.tpl.php");
$strContent = str_replace("{message}", $_POST['message'], $strContent);
file_put_contents('config.php', $strContent);
echo "<script language='javascript'>alert('success!'); window.location='send.php';</script>";
}
?>
<form action="send.php" method="POST">
留言: <input type="text" id="textinput" name="message" size="20" />
<input type="submit" name='submit' value="提交" />
</form>

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧