۸ علی اسدزاده
اجرا نشدن کد‌های جلسه
جامعه پی اچ پی ایجاد شده در ۱۴ اسفند ۱۴۰۱

کد‌های پروژه

html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Random Sentencestitle>
    <style>
        #rSentence{
         font-family: auto;
         background: #7dd;
         padding: 20px;
         border-radius: 10px;
        }
    style>
head>
<body style="text-align: center ; padding: 50px;">
    <h1>Random Sentencesh1>
    <div id='rSentence'>
        لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ<br>علی اسدزاده
    div>
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.min.js">script>
    <script>
        setInterval(function(){
            $.ajax({
                
                url : 'ajax-sentenceGenerator.php',
                success : function(response){
                    $("#rSentence").html(response);
                },
            }); 
        },3000);
    script>
body>
html>

کد‌های فایل php برای متصل کردن جملات


$sentences = [
    ["الهی قمشه ایی","اگر در طول عمرت همچین کسی رو نداشتی فقط عمرتو هدر دادی! هر آدمی در زندگی باید کسی رو داشته باشه که حس کنه با نبودنش دنیاش خراب میشه!"],
    ["جان استیل","همیشه به خاطر داشته باشید که دنیا هرگز مدیون شما نیست، زیرا قبل از شما نیز وجود داشته است."],
    ["هوراس والپول","زندگی برای کسانی که فکر می‌کنند یک کمدی و برای کسانی که احساس می‌کنند یک تراژدی است."],
    ["آلفرد هیچکاک","یه روزی با کسی روبرو میشین که به گذشته شما اهمیت نمیده؛ چون میخواد توی آیندتون، کنار شما باشه ... "],
    ["حسین پناهی","نه موهای سیاهُ نه دندان‌های سفید! جا مانده است چیزی جایی که هیچ گاه دیگر هیچ چیز جایش را پر نخواهد کرد..."],
    ["جی پی واسوانی","اندیشیدن در زندگی مان نقش مهمی دارد. اندیشیدن به نگرش مان شکل می‌دهد. با اندیشه مان می‌توانیم زندگی مان را دگرگون کنیم."],
    [" اینشتین","زندگی مانند دوچرخه سواری است. برای این که بتوانید تعادل خود را حفظ کنید باید همیشه در حرکت باشید."],
    ["آنتونی رابینز","وجود موانع، تنها به این معنی است که باید عزم خود را برای رسیدن به هدف‌های ارزشمند، جزمتر کنید."],
    ["گراهام بل","تمام افکار خود را روی کاری که دارید انجام می‌دهید متمرکز کنید؛ پرتوهای خورشید تا متمرکز نشوند نمی‌سوزانند ... "],
    ["آرتور شوپنهاور","ابتدا مورد تمسخر واقع میشوی ، سپس با خشونت به مخالفت با تو میپردازند و سرانجام به تو ایمان می‌آورند ."],
    ["جورج برنارد شاو","زندگی درباره یافتنِ خود نیست، درباره ساختنِ خود است."],
    ["وینستون چرچیل","با آنچه به دست می‌آوریم، زندگی و معیشت خود را می‌سازیم، اما با آنچه می‌بخشیم، گوهر زندگی را به دست می‌آوریم "],
    ["ماهاتما گاندی","اگر ما نتوانیم همچو مردان و زنانِ آزاد زندگی کنیم باید از مُردن خود شادمان باشیم."]
];
$r = rand(0,12);
echo $sentences[$r][1]."
"
. $sentences[$r][1]; ?>

چرا این کد‌ها اجرا نمیشن داخل مرورگز و جملات هر 3 ثانیه تغییر نمی‌کنه داخل کنسول اجرا نمیشه

سلام علی عزیز

وارد دولوپر تولز مرورگر بشو(f12) و بخش console رو باز کن و تصویر خطای مربوطه رو پیوست کن.


احمدرضا فاطمی کیا ۱۴ اسفند ۱۴۰۱، ۱۶:۲۹

این خطا

Access to XMLHttpRequest at 'file:///C:/laragon/www/mysqli/php.mysqli/css-framework/Ajax/ajax-sentenceGenerator.php' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.
ajax-sentenceGenerator.php:1          Failed to load resource: net::ERR_FAILED
mp-random-sentences.html:1 Access to XMLHttpRequest at 'file:///C:/laragon/www/mysqli/php.mysqli/css-framework/Ajax/ajax-sentenceGenerator.php' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.
jquery-1.11.0.min.js:4
علی اسدزاده ۱۷ اسفند ۱۴۰۱، ۰۸:۴۲

علی عزیز

هدر زیر رو در ابتدای فایل php ست کن:

header('Access-Control-Allow-Origin: *');
احمدرضا فاطمی کیا ۱۷ اسفند ۱۴۰۱، ۰۹:۰۱

ابن ارور رو الان دارم

Access to XMLHttpRequest at 'file:///C:/laragon/www/mysqli/php.mysqli/css-framework/Ajax/ajax-sentenceGenerator.php' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.
jquery-1.11.0.min.js:4          GET file:///C:/laragon/www/mysqli/php.mysqli/css-framework/Ajax/ajax-sentenceGenerator.php net::ERR_FAILED
علی اسدزاده ۱۸ اسفند ۱۴۰۱، ۰۸:۲۷

این مورد رو هم اضافه کنید:

header(“Access-Control-Allow-Origin: *”);
header(‘Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS, UPDATE’);

به فایل htaccess هم :

63e2-سون-لرن (2).png

احمدرضا فاطمی کیا ۱۸ اسفند ۱۴۰۱، ۱۰:۱۰

قاطی پاتی شد

من دقیقا همه مراحل استاد رو رفتم چرا این موارد نبودن توی جلسه

ای دی تلگرام بدین ممنون میشم با انی دسک متصل بشین

علی اسدزاده ۱۸ اسفند ۱۴۰۱، ۱۰:۲۰

ahmadreza_fatemikia@


احمدرضا فاطمی کیا ۱۸ اسفند ۱۴۰۱، ۱۰:۳۶

سلام،

پروژتون رو از طریق وب سرور باز کنید:

http://localhost/project-name/mp-random-sentences.html

علت خطای cross origin اینه وقتی شما میخواید ajax بزنید اگر origin(جایی که درخواست رو ارسال میکنه) و host(سروری که بهش درخواست ارسال میشه) آدرس یکسان نداشته باشه همچین خطایی رخ میده. البته با ست کردن هدر هایی مثل access-control در سمت host میشه اجازه دسترسی رو صادر کرد.

از سربرگ network ابزار inspect میتونید هدر request رو ببینید که مقدار host برابر localhost خواهد بود در این مثال شما.

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

بهترین پاسخ
محسن موحد ۱۸ اسفند ۱۴۰۱، ۱۳:۰۴