آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

چند سوال درمورد ساخت برنامه ای که بتونه با یک وب سروریس کار کنه.

alfredo  10 سال پیش  10 سال پیش
0 0

سلام و عرض ادب.

من میخواستم یک برنامه  و یک سایت بسازم که به این صورت باهم در ارتباط باشند (البته من هیچ تخصص و تجربه ای درزمینه سایت و سرور ندارم)

برنامه بتونه اطلعات سایت رو آپدیت و تامین کنه و اطلاعاتش درون دیتابیس وبسایت قابل مشاهده باشه.

من نمیخوام از سرور برای این کار استفاده کنم. آیا امکانش هست که فقط توسط یک هاست و دامین این کارو انجام داد؟

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

لطفا تمام راه های موجود رو بهم بگید.

با تشکر فراروان از استاد کاشی زاده عزیز که همیشه در صحنه هستند و به داد ما میرسند.

 

 برای این سوال 12 پاسخ وجود دارد.
پاسخ به سوال 
کاشی زاده  10 سال پیش
+1 0

سلام ،
در پروژه Note به صورت کامل این مسئله را بررسی کردیم .
تفاوتی بین سرور و هاست اشتراکی نیست و شما میتونید همان کد ها را در هاست اشتراکی نیز استفاده کنید و تفاوتی در کد ها نیست ، با خرید یک هاست اشتراکی و آپلود فایل های php و تغییر آدرس دامنه که در اپلیکیشن استفاده شده به آدرس واقعی متصل به هاست میتونید این کار را انجام بدید .

موفق باشید .

پاسخ به سوال 
Mohad  10 سال پیش
+1 0

سلام یک نکته ای به گفته استاد اضافه کنم که سایت های ورودپرسی بسته به اینکه با چه پلاگینی ساخته شده باشن برای وب سرویسشون هم معمولا پلاگین هست که چندان دیگه نیاز به کد نویسی php و غیره سمت سرور نداری و میتونی ازشون استفاده کنی

پاسخ به سوال 
alfredo  10 سال پیش
0 0

ممنونم.

اتفاقا برام سوال بود که این وردپرس اصلا چی هست... 

هاست و دامین رو گرفتم ولی هیچ کاری بلد نیستم باهاشون بکنم. البته فکر کنم تونستم وصلشون کنم به هم (البته چون هنوز ۲۴ ساعت نشده. سایت بالا نمیاد).

من توی پنل هاستم که میرم این گزینه ها برام میاد که نمیدونم باید باهاشون چکار کنم

از روی آموزش استاد که میرم، تقریبا هیچ کاری نمیتونم انجام بدم. چون استاد یک فایل index.php میسازند و سایت از اون طریق کار میکنه. ولی من نمیدونم این فایل رو کجا باید بسازم ؟! البته فکر کنم توی روت هاستم باید بسازمش ولی فعلا که سایت چیزی نشون نمیده تا بتونم با‌ آزمون و خطا برم جلو.

یک راهی از توی همین پنل  هاست پیدا کردم که خودش روی هاست وردپرس نصب میکنه. البته خیلی چیزای دیگه هم میتونه نصب کنه. ولی من نمیدونم کدوماش به دردم میخوره ! 

اینها و خیلی برنامه های دیگه رو میشه روش نصب کرد. کدوماش رو نصب کنم؟ 

یک نکته اینکهFTP منیجیر خودش  این صحنه رو نشون میده که یک سری فایل توی هاستم هست و نمیدونم میتونم پاکشون کنم یا نه ؟ 

پاسخ به سوال 
alfredo  10 سال پیش
0 0

با مقداری کلنجار بالاخره وردپرس نصب شد و بالا اومد.

الآن که فایل 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 گرفته بود رو قرار بدم ؟!

کسی میدونه ؟!

استاد !

 

 

+1 0
وردپرس سیستم مدیریت محتوی هست و ما در آموزش ها از آن استفاده نکردیم و خودمان یک وب سرویس از صفر نوشتیم . شما باید به فایل منیجر پنل برید و در پوشه public_html فایل هایی که در آموزش ها ساخته شد را قرار دهید و با آدرس سایت آن ها را باز کنید . (10 سال پیش)
پاسخ به سوال 
alfredo  10 سال پیش
0 0

استاد اینها در فایل منیجرش هست: (public نداره)

+1 0
اینها فایل های وردپرسسی هست که نصب کردید باید ابتدا وردپرس را حذف کنید و فایل های خود را در همینجا قرار دهید . (10 سال پیش)
0 0
استاد سایتم درست بالا میاد. الآن یک فایل index.html دارم توی هاستم که وقتی داخلش کد php مینویسم و مثلا میزنم یک جلمه رو اکو کنه. درست کار میکنه و توی سایت اون جمله میاد. ولی وقتی اون کدی که شما از w3school گرفتید رو مینویسم. کلا سایت از کار می افته و یک صفحه سفید نمایش میده. (10 سال پیش)
+1 0
باید تنظیمات دیتابیس را نیز بررسی کنید و حساب کاربری برای دسترسی به دیتابیس بسازید . (10 سال پیش)
0 0
منظورتون همون یوزر و پسورد هست که برای دسترسی به دیتابیس نیاز هست؟ یوزر پسورد ساختم ولی نه به روشی که توی آموزش هست (اون گزینه که شما توی آموزش استفاده کردید برای ساخت دسترسی، برای من نداره و از جای دیگه براش یک نام کاربری و پسورد قرار دادم) . ولی مشکل همچنان پا برجاست. (10 سال پیش)
0 0
بعد از جستجوی فراوان متوجه شدم مشکل از کجاست دقیقا. از همونجاست که شما اشاره کردید. توی صفحه ادمین اسکیوال بنده اصلا گزینه به اسم یوزر نیست. یک قسمت هست به اسم previlaes که اونجا ظاهرا باید بتونم یوزر اضافه کنم ولی هیچ دکمه ای برای اضافه کردن نداره. داخلش هم نوشته You do not have the necessary privileges to create a routine Documentation (10 سال پیش)
+1 0
هاستتون رایگان هست ؟ ممکنه محدودیت استفاده از دیتابیس برای هاست تعریف شده باشد . (10 سال پیش)
0 0
بله از 1freehosting گرفتم . نمیشه این دیتابیس رو به روش های دیگه ایجاد و مدیریت کنم!؟ اگه راه نداشته باشه میشه هاست هم عوض کنم البته. (10 سال پیش)
+1 0
پیشنهاد میکنم یه هاست ارزان قیمت با پنل Direct Admin یا CPanel تهیه کنید ، در هاست های رایگان تنها با دیتابیس مشکل نخواهید داشت و مشکلات دیگری هم در آینده گریبان گیرتان میشود . با یه سرچ ساده در گوگل میتونید سرویس دهندگان میزبانی وب را پیدا کنید ، یه هاست معمولی حدودا 25000 تومان برای یکسال هزینه دارد . (10 سال پیش)
پاسخ به سوال 
alfredo  10 سال پیش
0 0

استاد همه مراحل که فرمودید انجام شد. الآن به یک مشکل برخوردم که دقیقه ۳۲ آموزش که شما کدهای 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";
    }

 

+1 0
table جز Keyword هاست نام مناسبی برای جداول در نظر بگیرید . (10 سال پیش)
0 0
اسمش رو تغییر دادم به utable  ولی همچنان result0 میده (10 سال پیش)
+1 0
خطایی سیستم بهتون نمیده ؟ رکوردی توی دیتابیس درج کردید ؟ نمایش خطای php روشن هست ؟ (10 سال پیش)
0 0
دقیقا مشکل از نبود رکورد بود. بعد از اینکه اسمش رو عوض کرده بودم دیگه رکورد جدید درست نکرده بودم. مشکل همین بود. مثل همیشه تشخیصتون عالی بود. ممنونم. (10 سال پیش)
پاسخ به سوال 
ImanX  10 سال پیش
+1 0

سلام من توصیه میکنم کار با Rest Api  یادبگیرین.  راستش نمیدونم تو آموزش های استاد هست یا نه. اما خیلی میتونه کمکتون کنه.

 

0 0
میشه یکم توضیح بدید درموردش ؟ (10 سال پیش)
پاسخ به سوال 
ImanX  10 سال پیش
+1 0

این لینک را مطالعه کنید. http://www.restapitutorial.com/lessons/restquicktips.html

پاسخ به سوال 
ImanX  10 سال پیش
+1 0

API مخفف application programming interface (رابط برنامه‌نویسی نرم‌افزار) واسطه‌ای است بین یک کتابخانه با برنامه‌هایی که از آن کتابخانه تقاضای سرویس می‌کنند. به صورت ساده و قابل فهم، API ها مثل function هایی هستند که در یک سرور (یا سیستم عامل) وجود دارد و یک برنامه نویس در برنامه خود می‌تواند آنها را فراخوانی و استفاده کند بدون اینکه به سورس و نحوه عملکرد آن دسترسی داشته باشد. به عنوان مثال ویندوز یک سیستم عامل کدبسته (غیر اپن سورس) است اما مایکروسافت برای ویندوز، APIهایی قرار داده است که با استفاده از آنها، برنامه‌نویسان می‌توانند از قابلیت‌ها و سرویس‌های سیستم‌عامل ویندوز در توسعه و نوشتن برنامه‌های کاربردی خود استفاده کنند. API های تحت وب API های تحت وب به مراتب گسترده‌تر، پرکاربردتر و از همه مهم‌تر؛ مستقل از سیستم‌عامل است. یعنی یک برنامه ممکن است روی سیستم عامل linux باشد اما شما که یک سرور ویندوزی دارید، می‌توانید از API آن به سادگی استفاده کنید. SOAP و REST دو گروه معروف از API های تحت وب هستند که دومی ساده‌تر و استفاده از آن آسان‌تر است.


پاسخ به سوال 
alfredo  10 سال پیش
0 0

استاد من پروژه رو تا انتها انجام دادم (البته به بخش های آپدیت و حذف اطلاعات نیاز نداشتم و انجامشون ندادم)

الآن توی سایت وقتی دستی دیتابیس درست میکنم. هم توی خود سایت نمایش میده هم توی صفحه اول برنامه. وقتی روی هر کدوم از آیتم ها هم کلیک میکنم باز میشوند و مشکلی نیست.

ولی وقتی یک آیتم جدید درست میکنم توی دیتابیس سایت، آیتم جدید ایجاد نمیشه. (البته توی خود برنامه به طور موقت ایجاد میشه)

هیچ اروری هم دریافت نمیکنم.

خودم شکم برده به فایل 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;

    }
    

    ?>


+1 0
بهترین کار این هست که خطا های سما سرور را با اعمال تنظیماتی قابل نمایش کنید تا بهتر بتونید دیباگ را انجام دهید . لینک (10 سال پیش)
0 0
متشکرم. والا نتونستم سردر بیارم از توضیحات اون لینک. .htaccess نمیدونم چی هست یا یک سری کد نوشتند که نمیدونم باید کجا بنویسمشون. ولی توی کدها پی اچ پی خودمون یک خط پیدا کردم گفتم شاید مشکل از این باشه $js این خط با توجه به اینکه سرور من داخلی نیست نباید تغییر کنه؟ (10 سال پیش)
پاسخ به سوال 
alfredo  10 سال پیش
+1 0

 استاد بالاخره کشف کردم !

باید اونجا که توی php مینوشتم

$sql = "INSERT INTO utable (subject, text) VALUES ('$text', '$subject')";

این مدلی مینوشتم:

$sql = "INSERT INTO `db`.`utable` (`subject`, `text`) VALUES ('$text', '$subject')";

این رو از دستورات دیفالت خود اسکو ال منیجیر سایتم فهمیدم. دستی یک سطر در جدول ایجاد کردم دیدم کدهاش رو این مدلی نوشت. بعد توی   php  کد خودمو آپدیت کردم و درست شد.

دست شما درد نکنه. شرمنده خیلی اذیتتون کردم. ایشالا بعدا جبران میکنم.

 

پاسخ به سوال 
alfredo  10 سال پیش
0 0

استاد من روم سیاست. یک مشکل خیلی خیلی ریز پیش اومده فقط.

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

فکر کنم اطلاعاتم توی لیست درست لود نمیشه بعد از ساخت یک نوت جدید ! 

+1 0
خطایی در کد هاتون هست مطمئنا ، باید کدهاتون رو بررسی کنید و با استفاده دستور Print خط به خط آن ها را چاپ کنید تا به محل باگ برسید . (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .