PDA

View Full Version : مشکل فراخوانی تابع



naserzadeh
جمعه 20 اردیبهشت 1392, 21:10 عصر
من دوتا فایل دارم به اسم
list.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body dir="rtl">
<p align="center">
<input type="button" name="button" id="button" value="تعریف گروه جدید" />
</p>
<table width="500" border="1" align="center" dir="ltr">
<tr bgcolor="#FF9900">
<td width="87">عملیات</td>
<td width="76">عملیات</td>
<td width="260">نام گروه</td>
<td width="49">کد گروه</td>
</tr>
<?php
Connect();
$cats = Select("SELECT * FROM category");
DisConnect();


?>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
</body>
</html>
و فایل دیگر به اسم DataAccess.php

<?php
$link=0;
function Connect()
{
$servername="localhost";
$port="3306";
$DBName="newsmanagmentdb";
$user="root";
$pass="";
$GLOBALS['link']=mysql_connect($servername.":".$port,$user,$pass);
mysql_select_db($DBName,$GLOBALS['link']);
}
function Select($Selectsql)
{
$result=mysql_query($Selectsql,$GLOBALS['link']);
return $result;
}
function DoCommand($sql)
{
$result=mysql_query($sql,$GLOBALS['link']);
}
function DisConnect()
{
mysql_close($GLOBALS['link']);
}

?>

وقتی میخوام در فایل list.pho تابع connect را استفاده کنم پیغام خطای میخواهید از یک تابع تعریف نشده استفاده کنید مشکل از کجاست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

qartalonline
جمعه 20 اردیبهشت 1392, 21:41 عصر
ظاهراً شما فایل DataAccess.php رو اینکلود نکرده اید.

morudi
شنبه 21 اردیبهشت 1392, 15:30 عصر
همون طور که دوستمون گفتن شما به احتمال قوی فایلی رو که تابع در اون قرار داره در صفحه اصلی اینکلود نکردید نحوه اینکلود کردن به شکل زیر هست
فقط قبل از شروع باید بگم فایل اینکلود شده رو باید قبل از تابع ای که می خوای استفاده کنی باید اینکلود کنید
ابتدا از کلمه کلیدی include استفاده می کنید البته نام های دیگری نیز می باشد ولی این ساده است
سپس ادرس فایل مورد نظرتون رو بهش میدید به صورت زیر

include('DataAccess.php')

توجه کنید ادرس دقیق باشد و در هنگام ادرس دهی باید از کوتیشن ها استفاده کنید

naserzadeh
شنبه 21 اردیبهشت 1392, 17:07 عصر
اینا درست ولی فایل list.php توی پوشه news داخل یه فایل دیگه به اسم controlpaneslهستش و فایل dataaccess.php توی ریشه سایت هستش؟؟؟؟؟؟؟؟ include میکنم ولی ج نمیده

mehdiv
شنبه 21 اردیبهشت 1392, 17:25 عصر
اینطوری میتونی اینکلود کنی



include('../../DataAccess.php')

naserzadeh
شنبه 21 اردیبهشت 1392, 17:44 عصر
نشد بازم خطای

<?php
include('../../DataAccess.php');
Connect();
$cats = Select("SELECT * FROM category");
DisConnect();
print(mysql_num_rows($cats));


?>

Warning: include(../../DataAccess.php) [function.include]: failed to open stream: No such file or directory in G:\wamp\www\ITCENews\ControlPanel\Category\list.ph p on line 19

سه تا هم گذاشتم ج نداد

naserzadeh
شنبه 21 اردیبهشت 1392, 19:10 عصر
کسی نیست کمک کنه

mahmod2000
شنبه 21 اردیبهشت 1392, 19:22 عصر
شما کد کاملتونو بزاید.. طریقه require یا include کردنتون احتمالا اشتباهه.. چون کد شما رو امتحان کردم مشکل نداشت..

naserzadeh
شنبه 21 اردیبهشت 1392, 20:51 عصر
[QUOTE=mahmod2000;1765914]شما کد کاملتونو بزاید.. طریقه require یا include کردنتون احتمالا اشتباهه.. چون کد شما رو امتحان کردم مشکل نداشت..[/QUO
فایلهای کامل

mahmod2000
شنبه 21 اردیبهشت 1392, 21:07 عصر
دوست عزیز شما به اسم قایلی که include میکنید دقت نکردید که :)



include('../../DataAccessLayer.php');

اینو بزنید

naserzadeh
شنبه 21 اردیبهشت 1392, 21:11 عصر
هاااااااااااااااااااااااا ااااااااااااا