چند سوال درمورد ساخت برنامه ای که بتونه با یک وب سروریس کار کنه.
سلام و عرض ادب.
من میخواستم یک برنامه و یک سایت بسازم که به این صورت باهم در ارتباط باشند (البته من هیچ تخصص و تجربه ای درزمینه سایت و سرور ندارم)
برنامه بتونه اطلعات سایت رو آپدیت و تامین کنه و اطلاعاتش درون دیتابیس وبسایت قابل مشاهده باشه.
من نمیخوام از سرور برای این کار استفاده کنم. آیا امکانش هست که فقط توسط یک هاست و دامین این کارو انجام داد؟
آموزش های مربوط به دفترچه یادداشت رو قبلا دیدم و خیلی میتونه کمکم کنه ولی اونجا سرور داخلی بود. و با php دستورات در سمت سرور انجام میشد. حالا میشه از همون روش استفاده کرد روی هاست و دامین و یک همچین سایتی راه اندازی کرد که توش دیتابیس بصورت برنامه ریزی شده کار کنه ؟!
لطفا تمام راه های موجود رو بهم بگید.
با تشکر فراروان از استاد کاشی زاده عزیز که همیشه در صحنه هستند و به داد ما میرسند.
سلام ،
در پروژه Note به صورت کامل این مسئله را بررسی کردیم .
تفاوتی بین سرور و هاست اشتراکی نیست و شما میتونید همان کد ها را در هاست اشتراکی نیز استفاده کنید و تفاوتی در کد ها نیست ، با خرید یک هاست اشتراکی و آپلود فایل های php و تغییر آدرس دامنه که در اپلیکیشن استفاده شده به آدرس واقعی متصل به هاست میتونید این کار را انجام بدید .
موفق باشید .
سلام یک نکته ای به گفته استاد اضافه کنم که سایت های ورودپرسی بسته به اینکه با چه پلاگینی ساخته شده باشن برای وب سرویسشون هم معمولا پلاگین هست که چندان دیگه نیاز به کد نویسی php و غیره سمت سرور نداری و میتونی ازشون استفاده کنی
ممنونم.
اتفاقا برام سوال بود که این وردپرس اصلا چی هست...
هاست و دامین رو گرفتم ولی هیچ کاری بلد نیستم باهاشون بکنم. البته فکر کنم تونستم وصلشون کنم به هم (البته چون هنوز ۲۴ ساعت نشده. سایت بالا نمیاد).
من توی پنل هاستم که میرم این گزینه ها برام میاد که نمیدونم باید باهاشون چکار کنم
از روی آموزش استاد که میرم، تقریبا هیچ کاری نمیتونم انجام بدم. چون استاد یک فایل index.php میسازند و سایت از اون طریق کار میکنه. ولی من نمیدونم این فایل رو کجا باید بسازم ؟! البته فکر کنم توی روت هاستم باید بسازمش ولی فعلا که سایت چیزی نشون نمیده تا بتونم با آزمون و خطا برم جلو.
یک راهی از توی همین پنل هاست پیدا کردم که خودش روی هاست وردپرس نصب میکنه. البته خیلی چیزای دیگه هم میتونه نصب کنه. ولی من نمیدونم کدوماش به دردم میخوره !
اینها و خیلی برنامه های دیگه رو میشه روش نصب کرد. کدوماش رو نصب کنم؟
یک نکته اینکهFTP منیجیر خودش این صحنه رو نشون میده که یک سری فایل توی هاستم هست و نمیدونم میتونم پاکشون کنم یا نه ؟
با مقداری کلنجار بالاخره وردپرس نصب شد و بالا اومد.
الآن که فایل index.php رو باز میکنم این کدها داخلش هست:
<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
این چرا با ?> بسته نشده پس؟
الآن من باید همینجا کدهایی که استاد از w3schools گرفته بود رو قرار بدم ؟!
کسی میدونه ؟!
استاد !
استاد همه مراحل که فرمودید انجام شد. الآن به یک مشکل برخوردم که دقیقه ۳۲ آموزش که شما کدهای php رو مینویسید تا اطلاعات دیتابیس در سایت نمایش داده بشه. من 0 results برام توی سایت نمایش داده میشه.
خودم حدث میزنم مشکل از این قسمت باشه چون یکم ساختارش برام عجیبه اون نقطه ها و کوتیشن ها (گیج شدم اینجاش رو)
شما ببینید ایراد میبینید اینجا؟
$sql = "SELECT * FROM table";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<br> id: ". $row["id"].
" - subject: ". $row["subject"].
" - text: ". $row["text"].
" - vote: ". $row["vote"].
" - time: ". $row["time"]. "<br>";
}
} else {
echo "0 results";
}
سلام من توصیه میکنم کار با Rest Api یادبگیرین. راستش نمیدونم تو آموزش های استاد هست یا نه. اما خیلی میتونه کمکتون کنه.
این لینک را مطالعه کنید. http://www.restapitutorial.com/lessons/restquicktips.html
API مخفف application programming interface (رابط برنامهنویسی نرمافزار) واسطهای است بین یک کتابخانه با برنامههایی که از آن کتابخانه تقاضای سرویس میکنند. به صورت ساده و قابل فهم، API ها مثل function هایی هستند که در یک سرور (یا سیستم عامل) وجود دارد و یک برنامه نویس در برنامه خود میتواند آنها را فراخوانی و استفاده کند بدون اینکه به سورس و نحوه عملکرد آن دسترسی داشته باشد. به عنوان مثال ویندوز یک سیستم عامل کدبسته (غیر اپن سورس) است اما مایکروسافت برای ویندوز، APIهایی قرار داده است که با استفاده از آنها، برنامهنویسان میتوانند از قابلیتها و سرویسهای سیستمعامل ویندوز در توسعه و نوشتن برنامههای کاربردی خود استفاده کنند. API های تحت وب API های تحت وب به مراتب گستردهتر، پرکاربردتر و از همه مهمتر؛ مستقل از سیستمعامل است. یعنی یک برنامه ممکن است روی سیستم عامل linux باشد اما شما که یک سرور ویندوزی دارید، میتوانید از API آن به سادگی استفاده کنید. SOAP و REST دو گروه معروف از API های تحت وب هستند که دومی سادهتر و استفاده از آن آسانتر است.
استاد من پروژه رو تا انتها انجام دادم (البته به بخش های آپدیت و حذف اطلاعات نیاز نداشتم و انجامشون ندادم)
الآن توی سایت وقتی دستی دیتابیس درست میکنم. هم توی خود سایت نمایش میده هم توی صفحه اول برنامه. وقتی روی هر کدوم از آیتم ها هم کلیک میکنم باز میشوند و مشکلی نیست.
ولی وقتی یک آیتم جدید درست میکنم توی دیتابیس سایت، آیتم جدید ایجاد نمیشه. (البته توی خود برنامه به طور موقت ایجاد میشه)
هیچ اروری هم دریافت نمیکنم.
خودم شکم برده به فایل service.php
بنظر شما مشکلی نداره این کدها؟ (من از اینتلیجی استفاده نمیکنم و توی ایکس کد تغییراتش رو انجام میدم)
<?php
if(!isset($_GET["action"])){
echo "!!!";
exit;
}
$action = $_GET["action"];
if ($action == "insert") {
$conn = getConnection();
$jsonString = file_get_contents('php://input');
$data = json_decode($jsonString, true);
$subject = $data["subject"];
$text = $data["text"];
$sql = "INSERT INTO utable (subject, text) VALUES('$text', '$subject')";
if (mysqli_query($conn, $sql)){
$last_id = mysqli_insert_id($conn);
echo $last_id;
} else {
echo "Error: " . $sql . "
" . mysqli_error($conn);
}
}
if ($action == "select") {
$conn = getConnection();
$sql = "SELECT * FROM utable";
$result = $conn->query($sql);
$output = array();
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$record = array();
$record["id"] = $row["id"];
$record["subject"] = $row["subject"];
$record["text"] = $row["text"];
array_push($output, $record);
}
} else {
echo "0 results";
}
$conn->close();
echo json_encode($output);
} else if ($action == "update") {
} else if ($action == "delete") {
}
function getConnection () {
$servername = "localhost";
$username = "db";
$password = "xxxxxxx";
$dbname = "db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
return $conn;
}
?>
استاد بالاخره کشف کردم !
باید اونجا که توی php مینوشتم
$sql = "INSERT INTO utable (subject, text) VALUES ('$text', '$subject')";
این مدلی مینوشتم:
$sql = "INSERT INTO `db`.`utable` (`subject`, `text`) VALUES ('$text', '$subject')";
این رو از دستورات دیفالت خود اسکو ال منیجیر سایتم فهمیدم. دستی یک سطر در جدول ایجاد کردم دیدم کدهاش رو این مدلی نوشت. بعد توی php کد خودمو آپدیت کردم و درست شد.
دست شما درد نکنه. شرمنده خیلی اذیتتون کردم. ایشالا بعدا جبران میکنم.
استاد من روم سیاست. یک مشکل خیلی خیلی ریز پیش اومده فقط.
وقتی یک نوت جدید درست میکنم بدون هیچ مشکلی درست میشه و در لیست هم میاد. ولی وقتی همون موقع از لیست انتخابش میکنم و وارد صفحش میشم. گزینه هاش همه خالیه. ولی اگه برنامه رو از کلا ببندم و مجددا بازش کنم درست کار میکنه.
فکر کنم اطلاعاتم توی لیست درست لود نمیشه بعد از ساخت یک نوت جدید !
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .



