مشکل با تابع میل و یه مشکل دیگه در انتقال

Masoud1365

مدیر انجمن
من می خوام یه ایمیل html با استفاده از یه اسکریپت php بنویسم ولی ارسال نمیشه ! چندتا کد هم توی همین سایت سرچ کردم ولی اونا هم کار نکرد . یه نفر یه کد بزاره که دونسته باشه ببینم چطوریه ؟


مشکل دوم این که یه سایتو راحی کردم روی لوکال هاست کامل اجرا میشه ولی روی سرور این ارور رو میده :

Fatal error: Class 'mysqli' not found in /home/tec/public_html/test/db_functions.php on line 8

اینم بگم توی فایل db_functions.php یه تابع تعریف کردم که به دیتا بیس کانکت بشه و هرجا که لازمش دارم به کار ببرمش !

اشکال از کجاست ؟
اینم تابعی هستش که تعریف کردم
PHP:
function db_connect(){
	$con = new mysqli('localhost','root','','rayantec');
	if (!$con){
		echo 'خطا در برقراری ارتباط با پایگاه داده';
		exit();
	}
	else
	return $con;
}
 
آخرین ویرایش:

Masoud1365

مدیر انجمن
یعنی هیچ کس بلد نبود ؟ همون ایمیل رو هم ok کنه خوبه دومی رو یکاریش میکنم !
 

ziXet

مدیر انجمن PHP/MYSQL
یعنی هیچ کس بلد نبود ؟ همون ایمیل رو هم ok کنه خوبه دومی رو یکاریش میکنم !
سوال اول: باید ببینی چه مشکلی داره! شاید میره تو bulk و شما نمیفهمی شایدم مشکل از سرور هست.
شما از کلاس phpmailer استفاده کن.

شما مگه کلاسی به اسم mysqli داری که ازش کپی گرفتی؟
اگه داری باید اینکلود بشه تو صفحه.
mysqli فکر کنم یه تابع برای اتصال به دیتابیس باشه!
 

Masoud1365

مدیر انجمن
سوال اول: باید ببینی چه مشکلی داره! شاید میره تو bulk و شما نمیفهمی شایدم مشکل از سرور هست.
شما از کلاس phpmailer استفاده کن.

شما مگه کلاسی به اسم mysqli داری که ازش کپی گرفتی؟
اگه داری باید اینکلود بشه تو صفحه.
mysqli فکر کنم یه تابع برای اتصال به دیتابیس باشه!

1- توی bulk نمیره ! سرورو چیکارش باید بکنم ؟ چه مشکلی داره به نظر شما ؟


2- اون ارور دوم رو نمی دونم چطوریه برنامه روی لوکال هاست کامل کار میکنه روی سرور این ارور رو میده !
کلاس mysqli برای اتصال به دیتا بیس هستش و درون php5 هستش . دیگه نیخواد فراخوانیش کنم . درسته ؟

کلاس phpmailer چطوریه . اگر بخوام محتویات فرم به دوتا ایمیل بره یا html بفرستم چیکارش کنم ؟
 
آخرین ویرایش:

آیدین

Member
ورژن php رو چک کن
من با php4 کار نکردم ولی فکر کنم کلاس mysqli مال ورژن ۵ باشه
احتمالن ورژن php سرورت ۴ هست یا یه نگاه به php.net بننداز ببین این کلاس از چه ورژنی اضافه شده
 

Masoud1365

مدیر انجمن
نسخه php سرور 5 هستش !
این کلاس از ورژن 5 استفاده میکنه ! ولی نمیدونم را روی سرور ارور میده ولی لوکال درسته !!!
 

BehrouzPc

پــــادشــاه فــلــــش
اگه ایمل ارسال نمشه شاید هدر ها رو درست تعریف نکردید حتما FROM رو لااقل می باست تعریف کنید برای ارسال صحیح کدتون رو نزاشتید تا مشکا کار معلوم بشه

در رابطه با دومی

Fatal error: Class 'mysqli' not found in /home/tec/public_html/test/db_functions.php on line 8

تا جایی که من می دونم این یعنی که اکستنشن مای اسکو ال آی روی سرور شما فعال نیست
اگه تابع dl براتون فعاله می تونید فعالش کنید و گرنه می باست از فرمانهایی مثل mysql استفاده کنید
 

Masoud1365

مدیر انجمن
اگه ایمل ارسال نمشه شاید هدر ها رو درست تعریف نکردید حتما FROM رو لااقل می باست تعریف کنید برای ارسال صحیح کدتون رو نزاشتید تا مشکا کار معلوم بشه

در رابطه با دومی



تا جایی که من می دونم این یعنی که اکستنشن مای اسکو ال آی روی سرور شما فعال نیست
اگه تابع dl براتون فعاله می تونید فعالش کنید و گرنه می باست از فرمانهایی مثل mysql استفاده کنید

این کد هستش : توی کد متغیر ها رو از فرم گرفتم بعدش دیگه ادامه کد.
PHP:
$to  = $email;

/* subject */ 
$subject = "Your RayanTEC Order"; 

/* message */ 
$message = ' 
<html dir="rtl">

<head>
<title>Rayan TEC Order</title>
</head>


<body> 
متن html ...
</body> 

</html> 
'; 

/* To send HTML mail, you can set the Content-type header. */ 
$headers  = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=utf-8\r\n"; 

/* additional headers */ 
$headers .= "To: $email\r\n"; 
$headers .= "From: RayanTEC Group <[email protected]>\r\n";  

/* and now mail it */ 
@mail($to, $subject, $message, $headers);
 

BehrouzPc

پــــادشــاه فــلــــش
دوست عزیز
در کل مشکلی نمی بینم ولی بنده برای این کار

1- اصلا از بخش زیر رو نیازی نمی بینم استفاده کنم -( به صورت خودکار ارسال میشه )

$headers .= "To: $email\r\n";


2- بخش بعدیش رو هم عموما به صورت زیر استفاده می کنند

$headers .= "From:[email protected]\r\n";

چون در کل این یک کد ساده می باشد و جایی برای اشتباه نمیزاره باز با این تغییراتی که گفتم امتحان کن اگه نشه مشکل از جاهای باریکه :wink:

در کل بگم
اینجوری

$EmailHeader ="MIME-Version:1.0\n";
$EmailHeader.="Content-type: text/html; charset=utf-8\n";
$EmailHeader.="FROM:$SenderMail\n";

$sendMail =@mail("[email protected]",$EmailSubject,$EmailContent,$EmailHeader);
 

جدیدترین ارسال ها

بالا