PDA

View Full Version : سوال: چند اررور در اسکریپت!



navidAhwaz
چهارشنبه 24 آبان 1391, 19:09 عصر
سلام
این 2 اررور در فرم عضویت اسکریپت من رخ داده

Fatal error: Cannot redeclare MailOut::$to_name in /home/site/public_html/1/classes/MailOut.php on line 4
و این :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/site/public_html/1/join.php:6) in /home/site/public_html/1/join.php on line 6


محتوای MailOut.php :



<?
class MailOut
{
var $to, $to_name, $from_email, $message, $demo, $from_name,$headers,$to_name;

function MailOut ($to,$from_email,$from_name,$subject,$message,$dem o,$to_name)
{
$this->to=$to;
$this->from_email=$from_email;
$this->message=$message;
$this->demo=$demo;
$this->subject=$subject;
$this->from_name=$from_name;
}

function setIni($command,$value)
{
ini_set($command, $value);
}


function sendMail ()
{
$this->headers .= "From: $this->from_name <" . $this->from_email . ">\n";
$this->headers .= "Reply-To: <".$this->from_email.">\n";
$this->headers .= "X-Sender: <$this->from_email>\n";
$this->headers .= "X-Mailer: PHP4\n"; //mailer
$this->headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal
$this->headers .= "Return-Path: <$this->from_email>\n";

if (!$this->demo)
{
if (mail($this->to,stripslashes($this->subject),wordwrap(stripslashes($this->message)),$this->headers))
{
return true;
}
}
return false;
}

function debug()
{
echo "<p>DEBUG:<br />";
echo "HEADER:" . $this->headers . "<br />";
echo "FROM:" . $this->from_email . "<br />";
echo "FROM_NAME: " . $this->from_name . "<br />";
echo "SUBJECT: " . $this->subject . "<br />";
echo "MESSAGE: " . $this->message . "<br />";
echo "</p>";
}

}

?>

و محتوای join.php:



<? session_start(); ?>
<?
require "admin/config/general.inc.php";
require "language/$set_lang.inc";

include_once("admin/config/header.php");
include_once("classes/DB.php");
include_once("classes/FormFactory.php");
include_once("classes/User.php");
include_once("classes/MailOut.php");
include_once("classes/Template.php");

$username_var = "";
$password = "";
$email = "";
$already = "";
$agree = "";
$form = new FormFactory();
$db = new DB();
$user = new User($db);
//$user = new User($db);
$tpl_object = new Template("join_success");
$tp = $tpl_object->getContent();


if (isset($_POST["submit"]))
{

$res = $user->addUser($_POST["username"],$_POST["email"], $_POST["agree"]);

if ($res == 99)
{
//$_SESSION['username'] = $_POST["username"];
$tp = ereg_replace("{LA_JOIN_SUCCESS}", JOIN_SUCCESS, $tp);
$tp = ereg_replace("{LA_JOIN_SUCCESS_2}", JOIN_SUCCESS_2, $tp);
$tp = ereg_replace("{LA_MAKE_PROFILE}", MAKE_PROFILE, $tp);
echo $tp;
}
elseif ($res == 1)
{
echo "<p class='red'>" . EMAIL_WRONG . "</p>";
displayForm($form,$_POST["username"],"",$_POST["email"],$_POST["agree"]);
}
elseif ($res == 2)
{
echo "<p class='red'>" . USERNAME_TAKEN . "</p>";
displayForm($form,$_POST["username"],"",$_POST["email"],$_POST["agree"]);
}
elseif ($res == 3)
{
echo "<p class='red'>" . ALFA_ONLY . "</p>";
displayForm($form,$_POST["username"],"",$_POST["email"],$_POST["agree"]);
}
elseif ($res == 4)
{
echo "<p class='red'>" . EMAIL_TAKEN . "</p>";
displayForm($form,$_POST["username"],"",$_POST["email"],$_POST["agree"]);
}
elseif ($res == 5)
{
echo "<p class='red'>" . REQUIRE_AGREE . "</p>";
displayForm($form,$_POST["username"],"",$_POST["email"], $_POST["agree"]);
}


}
elseif (!isset($_SESSION["username"]))
{
displayForm($form,$username_var,$password,$email,$ agree);
}
else
{
echo "<p>" . ALREADY . "</p>";
}

function displayForm($form,$username_var,$password,$email,$ agree)
{
$tpl_object = new Template("join");
$tp = $tpl_object->getContent();
$tp = ereg_replace("\{LA_JOIN_HERE\}", JOIN_HERE, $tp);
$tp = ereg_replace("\{LA_JOIN_MORE_1\}",JOIN_MORE_1, $tp);
$tp = ereg_replace("\{LA_USERNAME\}", USERNAME, $tp);
$tp = ereg_replace("\{LA_EMAIL\}", EMAIL, $tp);
$tp = ereg_replace("\{LA_FORGOT\}", FORGOT_PASSWD, $tp);


$tp = ereg_replace("\{LA_AGREE\}", CONDITIONS_AGREE, $tp);
$tp = ereg_replace("\{COND_URL\}", "javascript:openWin(\"conditions.php\")", $tp);


// Form elements (language AND .tpl files)
$ub = $form->createSubmitButton("submit", JOIN);
$tp = ereg_replace("\{JOIN_BTN\}", $ub, $tp);

$ub = $form->createTextField("username",$username_var,12,20);
$tp = ereg_replace("\{USERNAME_BOX\}", $ub,$tp);

$ub = $form->createTextField("email",$email,30,30);
$tp = ereg_replace("\{EMAIL_BOX\}",$ub,$tp);

$ub = $form->createCheckBox("agree","1","$agree");
$tp = ereg_replace("\{AGREE_BOX\}",$ub,$tp);

$ub = $form->formHeader("post","join.php");
$tp = ereg_replace("\{FORM\}", $ub, $tp);

$ub = $form->formFooter();
$tp = ereg_replace("\{/FORM\}", $ub, $tp);

// Print form
print $tp;

}
include "admin/config/footer.php";
?>


لطفا راهنمایی کنید

mtchabok
پنج شنبه 25 آبان 1391, 01:56 صبح
سلام
متغیر to_name رو در کلاس دو بار تعریف کردید .

navidAhwaz
پنج شنبه 25 آبان 1391, 14:24 عصر
سلام
متغیر to_name رو در کلاس دو بار تعریف کردید .
مورد اول حل شد
مورد دوم این هست

Warning: session_start() [function.session-start (http://mohebbat.ir/function.session-start)]: Cannot send session cache limiter - headers already sent (output started at /home/site/public_html/join.php:6) in /home/moh6bba/public_html/join.php on line 6

mrgraphy
پنج شنبه 25 آبان 1391, 16:54 عصر
سلام دوست عزیز.
بعد از اینکه شما یک session رو در فایل join.php استارت کردید یک بار دیگه در یکی از فایل ها وباره session استارت شده.
چک کنید ببینید تو کدوم یکی از فایل هایی که فراخوانی کردید هستش.

navidAhwaz
پنج شنبه 25 آبان 1391, 17:12 عصر
سلام
session_start();
رو بصورت


<?php
session_start();
?>



در اول کد استفاده کردم مشکل حل شد

با تشکر