زمان کنونی: ۰۳ دى ۱۴۰۳, ۰۸:۵۹ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟

ارسال:
۰۳ مرداد ۱۳۹۲, ۰۹:۵۹ ب.ظ (آخرین ویرایش در این ارسال: ۰۴ مرداد ۱۳۹۲ ۰۵:۰۹ ق.ظ، توسط simorghsimorgh.)
آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
آیا ارسال اطلاعات یک form از صفحه ای به صفحه ی دیگر، بدون استفاده از دکمه ی submit امکان پذیر است ؟
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال:
۰۴ مرداد ۱۳۹۲, ۰۱:۱۷ ق.ظ
سؤال از فرم ها در PHP
من خیلی وارد نیستم ولی جاوااسکریپت هم میتونه خودش بصورت تایمردار اطلاعات را منتقل کنه .
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال:
۰۴ مرداد ۱۳۹۲, ۰۲:۱۶ ب.ظ
آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
برای ارسال اطلاعات بالاخره باید یه رویدادی تعریف کنی ، مثلا من که میام فرم رو پر میکنم برای نشون دادن پایان ورود اطلاعات باید یه دکمه ای چیزی رو فشار بدم تا اطلاعات ارسال بشن . منتها دکمه ای که از نوع submit تعریف میکنی به طور خودکار اطلاعات رو ارسال میکنه.
دقیقا بگو میخوای چیکار کنی ؟! چرا میخوای submit رو حذف کنی ؟

انقدر شکست میخورم تا راه پیروزی را یاد بگیرم
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال:
۰۴ مرداد ۱۳۹۲, ۰۳:۳۷ ب.ظ
RE: آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
(۰۴ مرداد ۱۳۹۲ ۰۲:۱۶ ب.ظ)Nima Masghadi نوشته شده توسط:  دقیقا بگو میخوای چیکار کنی ؟! چرا میخوای submit رو حذف کنی ؟


با یک مثال توضیح میدم :
فرض کنید سه تا صفحه داریم به نام های first_page.php و second_page.php و wellcome.php
در صفحه ی first_page.php داریم :
کد php:
<html>
<
body>
<
form action="second_page.php" method="get">
<
input name="username" type="text" />
<
input name="enter" type="submit" value="ارسال" />
</
form>
</
body>
</
html

در صفحه ی second_page.php داریم :
کد php:
<?php
if ( $_GET['username']==""){
echo 
"please enter username";
}
else
{
header ("location:wellcome.php");
}
?>

و در صفحه ی wellcome.php داریم :
کد php:
<?php
echo "wellcome".$_GET['username'];
?>


می دانیم که اطلاعات صفحه ی اول یعنی ( first_page.php ) با زدن دکمه ی "ارسال" به صفحه ی دوم یعنی ( second_page.php ) فرستاده می شود
اما سؤال من اینه که اگر در صفحه ی دوم شرط if درست نبود ، چجوری میشه اطلاعات دریافتی از صفحه ی اول رو به صفحه ی سوم یعنی ( wellcome.php ) منتقل کرد ؟

ضمنا توجه داشته باشید که از قطعه کد زیر :

کد php:
header ("location:wellcome.php"); 

استفاده شده ! و این یعنی اینکه در صفحه ی دوم ، توقف نداریم ( نمی شود از فرم دیگری در صفحه ی دوم برای ارسال اطلاعات به صفحه ی سوم استفاده کرد ) ... نکته ش هم همین جاست ! آیا راه حلی برای این مسئله وجود دارد یا نه ؟
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال:
۰۴ مرداد ۱۳۹۲, ۰۶:۲۵ ب.ظ
آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
کارهایی زیادی میشه کرد ، یه دو سالی از php دور بودم ولی یه کاری که به دهنم میرسه استفاده از کوکیه . اطلاعات فرم اولت رو تو کوکی ها ذخیره کن و در آخر کوکی ها رو حذف کن.
۱
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: simorghsimorgh
ارسال:
۰۴ مرداد ۱۳۹۲, ۱۱:۱۱ ب.ظ
RE: آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
این کار رو خیلی راحت با SESSION ها میشه انجام داد :
صفحه second_page.php :
کد php:
<?php
if ( !isset($_GET["username"])){
echo 
"please enter username";
}
else
{
session_start();
$_SESSION["username"]=$_GET["username"];
header ("location:welcome.php");
}
?>

صفحه ی welcome.php :
کد php:
<?php
session_start
();
if(isset(
$_SESSION["username"]))
echo 
"wellcome ".$_SESSION["username"];
else
 echo 
"Welcome unknown user";
?>

انقدر شکست میخورم تا راه پیروزی را یاد بگیرم
۱
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: simorghsimorgh
ارسال:
۰۵ مرداد ۱۳۹۲, ۰۴:۳۵ ق.ظ
RE: آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
(۰۴ مرداد ۱۳۹۲ ۱۱:۱۱ ب.ظ)Nima Masghadi نوشته شده توسط:  این کار رو خیلی راحت با SESSION ها میشه انجام داد :

tankyou Smile
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: Nima Masghadi
ارسال:
۰۹ مرداد ۱۳۹۲, ۰۸:۲۸ ب.ظ
آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
میتونید از Ajax استفاده کنید و اطلاعاتتون رو بفرستید بدون اینکه کل صفحه رو Submit کنید. البته در این مورد هم باید یک رویداد رو هندل کنید مثلا رویداد onkeyup منتهی دیگه کل صفحه ارسال نمیشه و فقط اون فیلدی که شما اتخاب میکنی فرستاده میشه. اگه خواستید بگید تا بیشتر توضیح بدم (گر چه چیزی نداره اگه هم داشته باشه تو اینترنت پره) موفق و پیروز باشید.
۱
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال:
۱۰ مرداد ۱۳۹۲, ۱۱:۳۰ ب.ظ
RE: آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
(۰۹ مرداد ۱۳۹۲ ۰۸:۲۸ ب.ظ)arcsin نوشته شده توسط:  میتونید از Ajax استفاده کنید و اطلاعاتتون رو بفرستید بدون اینکه کل صفحه رو Submit کنید.

اگر ممکنه یه خورده بیشتر توضیح بدین !
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #۱۰
۱۱ مرداد ۱۳۹۲, ۰۴:۳۶ ق.ظ
RE: آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
(۱۰ مرداد ۱۳۹۲ ۱۱:۳۰ ب.ظ)simorghsimorgh نوشته شده توسط:  اگر ممکنه یه خورده بیشتر توضیح بدین !

این در واقع ساده ترین مثالی هست که میشه برای استفاده از Ajax زد معمولا اگه چند تا فیلد داشته باشید از JSON استفاده میشه:

این کد در فایل Client.html نوشته میشه :
کد:
<html>
<head>
<title>
    Hello Ajax!
</title>
</head>
<body>
<script language="JavaScript" type="text/JavaScript">
    var requestObject = new XMLHttpRequest();
    
    function execute()
    {
            requestObject.open("GET",
                            "Server.php?text="+
                            document.getElementById("yourname").value,
                            true);
                            
            requestObject.send(null);
            
            requestObject.onreadystatechange = hello
    }
    
    function hello()
    {
        if(requestObject.readyState==4)
        {
            document.getElementById("entered").innerHTML = requestObject.responseText;
        }
    }
</script>
<form name ="form">
    Enter Your Name:
    <input id ="yourname" type="text" name="yourname" onkeyup= "execute()">
    <br/>
    <div id="entered">
        Wait For Response
    </div>
</form>
</body>
</html>

این کد هم در Server.php نوشته میشه:
کد:
<?PHP
    if(isset($_GET['text']))
    {
        echo strtoupper($_GET['text']);
    }
?>

حالا اگه فایل Client.html رو اجرا کنید و در textbox متنی رو وارد کنید بدون اینکه کل صفحه به سرور فرستاده بشه و به اصطلاح submit بشه بزرگ شده ی اون متن در زیرش نوشته میشه . امیدوارم که مثال واضحی زده باشم.
۱
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #۱۱
۱۱ مرداد ۱۳۹۲, ۰۹:۲۵ ق.ظ
آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
خیلی جالبه ... توی همون صفحه ای که متن نوشته میشه ، متن بزرگ میشه ولی در عین حال یک فایل دیگه Server.php هم باید باشه. میشه این کدها رو بیشتر توضیح بدین که هر قسمت چکار میکنه دقیقا ؟
مخصوصا اینکه من با جاوا اسکریپت اصلا آشنا نیستم.
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #۱۲
۱۱ مرداد ۱۳۹۲, ۰۱:۵۸ ب.ظ
RE: آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
(۱۱ مرداد ۱۳۹۲ ۰۹:۲۵ ق.ظ)simorghsimorgh نوشته شده توسط:  خیلی جالبه ... توی همون صفحه ای که متن نوشته میشه ، متن بزرگ میشه ولی در عین حال یک فایل دیگه Server.php هم باید باشه. میشه این کدها رو بیشتر توضیح بدین که هر قسمت چکار میکنه دقیقا ؟
مخصوصا اینکه من با جاوا اسکریپت اصلا آشنا نیستم.

الان تقریبا میشه گفت همه ی سایت ها از Ajax استفاده میکنن مثلا موقع ثبت نام شما userName رو وارد میکنید بلا فاصله زیرش یک پیغام نمایش داده میشه که آیا نام کاربری صحیحه یا قبلا وارد شده :

تو این قسمت یک شی از نوع XMLHttpRequest می سازیم که وظیفه برقراری ارتباط با سرور و ارسال و دریافت اطلاعات رو داره :

کد:
var requestObject = new XMLHttpRequest();

در قسمت بعدی هم روی داد onkeyup شی Textbox رو توسط تابع execute هندل کردیم و گفتیم که بیا یک ارتباط با سرور بر قرار کن، نحوه ی برقراری ارتباط با سرور هم که توسط تابع open شی requestObject صورت میگیره دو نوع هست

۱- GET : در این نوع تو همون قسمتی که url نوشته میشه پارامتر ها هم نوشته میشه و موقع send کردن ما چیزی به سرور نمیفرستیم (null) را می فرستیم : که تو این مثال من این کارو کردم،

کد:
requestObject.open("GET",
                            "Server.php?text="+
                            document.getElementById("yourname").value,
                            true);
                            
            requestObject.send(null);

۲- POST : دراین نوع شما موقع open کردن کانکشن فقط url سرور رو مشخص میکنید ولی پارامتر ها رو توسط تابع Send ارسال میکنید، برای ارسال پارامتر هم روش های مختلفی وجو داره که یکیش اینه که یک شعی از نوع FormData درست کنید و پارامتر ها رو با اون بفرستید . توجه بشه که تو این متد برنامه سرور هم باید تغییر کنه چون پارامتر ها توی شی GET_ رویخته نمیشن توی شی POST_ ریخته میشن :

کد:
requestObject.open("POST",
                            "Server2.php",
                            true);
                            
            var data = new FormData();
            data.append('text', document.getElementById("yourname").value);
            requestObject.send(data);

پارامتر آخر هم نشون میده که آیا ارتباط asynchronous (غیر هم زمان) (true) و یا synchronous (هم زمان) (false) باشه . تفاوت این دو تا هم به این شرحه اگه ما نوع ارتباط رو غیر هم زمان در نظر بگیریم که معمولا در بیشتر مواقع این گونه هست وقتی که ما داده را ارسال میکنیم سیستم منتظر یک Callback از سمت سرور میمونه و این Callback توسط تابع onreadystatechange هندل میشه و دیگه نیازی نیست که منتظر پاسخ باشیم ولی اگه هم زمان باشه باید منتظر بمونیم تا سرور پاسخ بده . یعنی این عبارت رو باید زیر تابع سند بنویسیم :

کد:
if(requestObject.readyState==4)
        {
            document.getElementById("entered").innerHTML = requestObject.responseText;
        }
این عبارت هم یعنی اینکه پیام به درستی و بدون خطا دریافت شده requestObject.readyState و میتونید اونو نمایش بدید.

این هم کد Client2.html :

کد:
<html>
<head>
<title>
    Hello Ajax!
</title>
</head>
<body>
<script language="JavaScript" type="text/JavaScript">
    var requestObject = new XMLHttpRequest();
    
    function execute()
    {
            requestObject.open("POST",
                            "Server2.php",
                            true);
                            
            var data = new FormData();
            data.append('text', document.getElementById("yourname").value);
            requestObject.send(data);        
            
        if(requestObject.readyState==4)
        {
            document.getElementById("entered").innerHTML = requestObject.responseText;
        }
    }

</script>
<form name ="form">
    Enter Your Name:
    <input id ="yourname" type="text" name="yourname" onkeyup= "execute()">
    <br/>
    <div id="entered">
        Wait For Response
    </div>
</form>
</body>
</html>

و این هم کد Server2.php :

کد:
<?PHP
    if(isset($_POST['text']))
    {
        echo strtoupper($_POST['text']);
    }
?>

امیدوارم که یاد گرفته باشی. برای کسب اطلاعات بیشتر هم از گوگل استفاده کن.
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال: #۱۳
۱۱ مرداد ۱۳۹۲, ۰۴:۱۶ ب.ظ
آیا بدون استفاده از دکمه submit می شود اطلاعات را ارسال کرد ؟
بسیار خوب ممنونم ... تا اینارو هضم کنم یه خورده زمان می بره !
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ


موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  معرفی منابع برای درس بازیابی پیشرفته اطلاعات saghi5373 ۸ ۱۲,۴۳۰ ۰۶ اردیبهشت ۱۴۰۳ ۱۲:۱۵ ق.ظ
آخرین ارسال: bijibuji
  منابع برای دکترا -مهندسی فناوری اطلاعات sarit ۲ ۳,۸۶۲ ۰۵ اردیبهشت ۱۴۰۳ ۱۱:۵۷ ب.ظ
آخرین ارسال: bijibuji
  دانلود سوالات تخصصی گرایش فناوری اطلاعات آزمون دکتری ۹۱(کد ۲۳۵۸) Lonely Palm ۲ ۶,۴۹۹ ۲۶ دى ۱۴۰۲ ۰۲:۳۳ ب.ظ
آخرین ارسال: bijibuji
  چطور میتوان بهتر زندگی کرد؟ شاپری ۲۴ ۱۵,۲۲۰ ۲۲ اسفند ۱۴۰۱ ۰۷:۴۹ ق.ظ
آخرین ارسال: s.gg
Big Grin اطلاعات در مورد دانشگاه تهران (پردیس فارابی) mehRUN ۲ ۵,۱۶۹ ۳۱ شهریور ۱۴۰۱ ۰۱:۴۱ ب.ظ
آخرین ارسال: eng.behnam
  اطلاعات راجع به سیستمهای حضور و غیاب Fingerprint ۱ ۲,۰۴۵ ۰۳ بهمن ۱۴۰۰ ۱۱:۱۴ ب.ظ
آخرین ارسال: Fingerprint
  استفاده از پشته armiii ۰ ۱,۱۲۶ ۰۳ دى ۱۴۰۰ ۱۲:۴۳ ق.ظ
آخرین ارسال: armiii
  کارشناسی ارشد فناوری اطلاعات ۱۴۰۱ tablighjonoub ۰ ۱,۷۵۴ ۰۱ دى ۱۴۰۰ ۰۸:۴۳ ب.ظ
آخرین ارسال: tablighjonoub
  استخدام در فنآوری اطلاعات خدمات حوزه علمیه قم oloom-ensani ۱۵ ۱۰,۲۵۱ ۲۴ اردیبهشت ۱۴۰۰ ۰۴:۳۹ ب.ظ
آخرین ارسال: oloom-ensani
  سلام آیا اینجا کسی رشتش کامپیوتر هست؟ parisa1140 ۲ ۴,۲۸۱ ۱۹ بهمن ۱۳۹۹ ۱۱:۰۶ ب.ظ
آخرین ارسال: farsamw

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close