ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: CherryX ที่ 25 สิงหาคม 2018, 14:51:03



หัวข้อ: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: CherryX ที่ 25 สิงหาคม 2018, 14:51:03
สวัสดีคะ อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ ต้องค้นหาว่าอย่างไรคะ ตัวที่มีอยู่มันชอบตัดเมื่อเจอตัวอักษร & คะ

รบกวนพี่ๆ ด้วยนะคะ  :wanwan017:


หัวข้อ: Re: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: nscyber ที่ 25 สิงหาคม 2018, 15:39:44
ลองทดสอบดูครับ เป้นการใช้คำสั่ง exit ในการหยุดตอน ajax ถาม ระบบจะทำงานก้ต่อเมื่อ isset($_POST['name'])) ครับ

โค๊ด:
<?php
    $data 
= array();
    if(isset(
$_POST['name'])) {
        
$data[] = 'You entered:' $_POST['name'];
        exit(
json_encode($data));       
    }
?>


<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
    $(function() {
        $('form').submit(function(e) {
            e.preventDefault();
            $.ajax({
                type        : 'POST',
                url         : 'index.php',
                data        : $(this).serialize(),
                dataType    : 'json',
                encode      : true
            })
            .done(function(data) {
                $('#result').html(data);   
            })
        });
    });
</script>
</head>

<body>
    <form>
        <input type="text" name="name">
        <input type="submit" value="Submit">
    </form>
    <div id="result"></div>
</body>

โค๊ด:
ที่มา : https://stackoverflow.com/questions/29051548/ajax-to-php-on-the-same-page


หัวข้อ: Re: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: thanoo001 ที่ 25 สิงหาคม 2018, 16:27:04
แนะนำให้ส่งค่า Method ในรูปแบบ Post ครับ ตัวโค้ด Java ก็ประมาณนี้
โค๊ด:
jQuery.ajax({
url:'test.php', // ลิ้งค์ที่เราจะทำการ ajax
dataType:"html", //รูปแบบของ data อาจจะเป็น json ก็ได้
type:"POST", // ค่าที่ส่งในรูปแบบเมธอดต่างๆ get,post etc..
data:{ // ตัวแปลที่จะส่ง id:1 ก็คือ $_POST['id'] = 1 ใน php
id:1,
action:'test'
},success:function(data){ // หากสำเร็จ ระบบจะรับค่ามาอยู่ในตัวแปล data
jQuery('#text1').html(data);
}
});


อันนี้สำหรับ PHP
โค๊ด:
<?php
if (!isset($_POST['id']) or $_POST['id'] == '') die('access_denied');
$id $_POST['id'];
// do code
?>

อธิบายตามที่เข้าใจ นะครับ


หัวข้อ: Re: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: CherryX ที่ 25 สิงหาคม 2018, 17:30:23
ขอบคุณทั้ง 2 ท่านมากๆคะ  1 ให้ทั้งสองท่าน เลยคะ แต่ งง ของตัวเองทำไมส่งค่าไป แสดงผลที่ไฟล์ 1.php แล้ว ค่า & ตัวนี้ไม่มาด้วคะ มันเป็นการตัดออก   :wanwan017:

<script language="javascript">
function doajax(mydata){
   var ajax1=createAjax();
   ajax1.onreadystatechange=function(){
      if(ajax1.readyState==4 && ajax1.status==200){
         document.getElementById('myplace').innerHTML=ajax1.responseText;
      }else{
         return false;
      }
   }
   ajax1.open("POST","1.php",true);
   ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   ajax1.send("asin=" document.form1.asin.value "&detail=" document.form1.detail.value "&price=" document.form1.price.value "&catagory=" document.form1.catagory.value "&link=" document.form1.link.value);
}
</script>



หัวข้อ: Re: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: mean ที่ 25 สิงหาคม 2018, 17:48:55
อ้างถึง
<?
// Start Ajax Content
if(isset($_POST['ajax_request']))
{
?>
Hello<br>
This Content from ajax request
<?
} // END AJAX Content
?>
<htm>

<body>
<div id='content'>
Static Content
</div>


<script async="async" type="text/javascript" src="[url]https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js[/url]"></script>
<script>
$.post('',{'ajax_request':1},function(response){
  $('#content').html(response);
});
</script>
</bodY
</html>


ใช้ Jquery ช่วยทำงานครับ ลดเวลา ลดขั้นตอน


หัวข้อ: Re: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: nscyber ที่ 25 สิงหาคม 2018, 18:00:31
ขอบคุณทั้ง 2 ท่านมากๆคะ  1 ให้ทั้งสองท่าน เลยคะ แต่ งง ของตัวเองทำไมส่งค่าไป แสดงผลที่ไฟล์ 1.php แล้ว ค่า & ตัวนี้ไม่มาด้วคะ มันเป็นการตัดออก   :wanwan017:

<script language="javascript">
function doajax(mydata){
   var ajax1=createAjax();
   ajax1.onreadystatechange=function(){
      if(ajax1.readyState==4 && ajax1.status==200){
         document.getElementById('myplace').innerHTML=ajax1.responseText;
      }else{
         return false;
      }
   }
   ajax1.open("POST","1.php",true);
   ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   ajax1.send("asin=" document.form1.asin.value "&detail=" document.form1.detail.value "&price=" document.form1.price.value "&catagory=" document.form1.catagory.value "&link=" document.form1.link.value);
}
</script>



จากที่ผมดูโค้ดน่าจะเป้นการต่อข้อความแล้วมี ตัวแปรแทรก หรือป่าวครับ ถ้าใช่การต่อข้อความของ javascript จะต้องใช้เครื่องหมาย  บวก  ในการเชื่อม


หัวข้อ: Re: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: CherryX ที่ 25 สิงหาคม 2018, 19:44:00
ขอบคุณทั้ง 2 ท่านมากๆคะ  1 ให้ทั้งสองท่าน เลยคะ แต่ งง ของตัวเองทำไมส่งค่าไป แสดงผลที่ไฟล์ 1.php แล้ว ค่า & ตัวนี้ไม่มาด้วคะ มันเป็นการตัดออก   :wanwan017:

<script language="javascript">
function doajax(mydata){
   var ajax1=createAjax();
   ajax1.onreadystatechange=function(){
      if(ajax1.readyState==4 && ajax1.status==200){
         document.getElementById('myplace').innerHTML=ajax1.responseText;
      }else{
         return false;
      }
   }
   ajax1.open("POST","1.php",true);
   ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   ajax1.send("asin=" document.form1.asin.value "&detail=" document.form1.detail.value "&price=" document.form1.price.value "&catagory=" document.form1.catagory.value "&link=" document.form1.link.value);
}
</script>



จากที่ผมดูโค้ดน่าจะเป้นการต่อข้อความแล้วมี ตัวแปรแทรก หรือป่าวครับ ถ้าใช่การต่อข้อความของ javascript จะต้องใช้เครื่องหมาย  บวก  ในการเชื่อม

asin=" document.form1.asin.value " เป็น 1 ค่า คะ มีทั้งหมด 4 ค่าที่รรับจากหน้านี้คะ  :wanwan017:


หัวข้อ: Re: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: CherryX ที่ 25 สิงหาคม 2018, 19:51:16
ลองทำแบบโค้ดนี้คะ

<script language="javascript" src="ajax.js"></script>
<script language="javascript">
function doajax(showplace){
    var ajax1=createAjax();
    ajax1.onreadystatechange=function(){
        if(ajax1.readyState==4 && ajax1.status==200){
            document.getElementById(showplace).innerHTML=ajax1.responseText;
        }else{
            return false;
        }
    }
    ajax1.open("POST","data_post.php",true);
    ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax1.send("name=" document.form1.name.value "&email=" document.form1.email.value);
}
</script>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  ชื่อ
  <input name="name" type="text" id="name" />
  อีเมลล์
  <input name="email" type="text" id="email" />
  <input type="button" name="Button" value="Send" onclick="doajax('myplace')" />
</form>
<p id="myplace"></p>

https://www.ninenik.com/forum_view_446_1.html

แต่เครื่องหมาย & โดนตัดคะ  :wanwan017:


หัวข้อ: Re: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: CherryX ที่ 25 สิงหาคม 2018, 20:20:26
ลองทดสอบดูครับ เป้นการใช้คำสั่ง exit ในการหยุดตอน ajax ถาม ระบบจะทำงานก้ต่อเมื่อ isset($_POST['name'])) ครับ

โค๊ด:
<?php
    $data 
= array();
    if(isset(
$_POST['name'])) {
        
$data[] = 'You entered:' $_POST['name'];
        exit(
json_encode($data));       
    }
?>


<head>
<script src="[url]https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js[/url]"></script>
<script>
    $(function() {
        $('form').submit(function(e) {
            e.preventDefault();
            $.ajax({
                type        : 'POST',
                url         : 'index.php',
                data        : $(this).serialize(),
                dataType    : 'json',
                encode      : true
            })
            .done(function(data) {
                $('#result').html(data);   
            })
        });
    });
</script>
</head>

<body>
    <form>
        <input type="text" name="name">
        <input type="submit" value="Submit">
    </form>
    <div id="result"></div>
</body>

โค๊ด:
ที่มา : [url]https://stackoverflow.com/questions/29051548/ajax-to-php-on-the-same-page[/url]



แบบนี้ถ้าจะรับ 2 ค่าที่ส่งไปทำยังไงคะ  :wanwan017:


หัวข้อ: Re: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: nscyber ที่ 25 สิงหาคม 2018, 20:38:26
ลองทดสอบดูครับ เป้นการใช้คำสั่ง exit ในการหยุดตอน ajax ถาม ระบบจะทำงานก้ต่อเมื่อ isset($_POST['name'])) ครับ

โค๊ด:
<?php
    $data 
= array();
    if(isset(
$_POST['name'])) {
        
$data[] = 'You entered:' $_POST['name'];
        exit(
json_encode($data));       
    }
?>


<head>
<script src="[url]https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js[/url]"></script>
<script>
    $(function() {
        $('form').submit(function(e) {
            e.preventDefault();
            $.ajax({
                type        : 'POST',
                url         : 'index.php',
                data        : $(this).serialize(),
                dataType    : 'json',
                encode      : true
            })
            .done(function(data) {
                $('#result').html(data);   
            })
        });
    });
</script>
</head>

<body>
    <form>
        <input type="text" name="name">
        <input type="submit" value="Submit">
    </form>
    <div id="result"></div>
</body>

โค๊ด:
ที่มา : [url]https://stackoverflow.com/questions/29051548/ajax-to-php-on-the-same-page[/url]



แบบนี้ถ้าจะรับ 2 ค่าที่ส่งไปทำยังไงคะ  :wanwan017:


อันนี้ผมเอาโค้ดเจ้าของกระทู้มาดัดแปลงตามตัวอย่างนะครับลองกอปไปใส่แล้วรันดูได้เลยนะครับ

โค๊ด:
<?php
    $data 
= array();
    if(isset(
$_POST['name'])&&isset($_POST['email'])) {
        
$data[] = $_POST['name'];
        
$data[] = $_POST['email'];
        exit(
json_encode($data));
    }
?>


<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
    $(function() {
        $('#form1').submit(function(e) {
            e.preventDefault();
            $.ajax({
                type        : 'POST',
                url         : 'index.php',
                data        : $(this).serialize(),
                dataType    : 'json',
                encode      : true
            })
            .done(function(data) {
                $('#name').html(data[0]);
                $('#email').html(data[1]);
            })
        });
    });
</script>
</head>

<body>
    <form method="post" id="form1">
        ชื่อ <input name="name" type="text"/>
        อีเมลล์ <input name="email" type="text"/>
        <input type="submit">
    </form>
    <p id="name"></p>
    <p id="email"></p>
</body>



หัวข้อ: Re: อยากได้ตัวอย่าง Code PHP + ajax ที่รับค่าจากหน้าเดียวและแสดงผลที่หน้าเดียวคะ
เริ่มหัวข้อโดย: CherryX ที่ 25 สิงหาคม 2018, 21:26:36
ลองทดสอบดูครับ เป้นการใช้คำสั่ง exit ในการหยุดตอน ajax ถาม ระบบจะทำงานก้ต่อเมื่อ isset($_POST['name'])) ครับ

โค๊ด:
<?php
    $data 
= array();
    if(isset(
$_POST['name'])) {
        
$data[] = 'You entered:' $_POST['name'];
        exit(
json_encode($data));       
    }
?>


<head>
<script src="[url]https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js[/url]"></script>
<script>
    $(function() {
        $('form').submit(function(e) {
            e.preventDefault();
            $.ajax({
                type        : 'POST',
                url         : 'index.php',
                data        : $(this).serialize(),
                dataType    : 'json',
                encode      : true
            })
            .done(function(data) {
                $('#result').html(data);   
            })
        });
    });
</script>
</head>

<body>
    <form>
        <input type="text" name="name">
        <input type="submit" value="Submit">
    </form>
    <div id="result"></div>
</body>

โค๊ด:
ที่มา : [url]https://stackoverflow.com/questions/29051548/ajax-to-php-on-the-same-page[/url]



แบบนี้ถ้าจะรับ 2 ค่าที่ส่งไปทำยังไงคะ  :wanwan017:


อันนี้ผมเอาโค้ดเจ้าของกระทู้มาดัดแปลงตามตัวอย่างนะครับลองกอปไปใส่แล้วรันดูได้เลยนะครับ

โค๊ด:
<?php
    $data 
= array();
    if(isset(
$_POST['name'])&&isset($_POST['email'])) {
        
$data[] = $_POST['name'];
        
$data[] = $_POST['email'];
        exit(
json_encode($data));
    }
?>


<head>
<script src="[url]https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js[/url]"></script>
<script>
    $(function() {
        $('#form1').submit(function(e) {
            e.preventDefault();
            $.ajax({
                type        : 'POST',
                url         : 'index.php',
                data        : $(this).serialize(),
                dataType    : 'json',
                encode      : true
            })
            .done(function(data) {
                $('#name').html(data[0]);
                $('#email').html(data[1]);
            })
        });
    });
</script>
</head>

<body>
    <form method="post" id="form1">
        ชื่อ <input name="name" type="text"/>
        อีเมลล์ <input name="email" type="text"/>
        <input type="submit">
    </form>
    <p id="name"></p>
    <p id="email"></p>
</body>



ว้าวได้แล้ว ขอบคุณมากๆ เลยคะ ขอให้ระบบท่านขายดีเป็นเทน้ำเทท่าเลยนะคะ เดี๊ยวอุดหนุนคะ  :wanwan017: