A-AA+then

code ajax php mysql รบกวนช่วยดูให้หน่อยคะ มันนิ่งสนิทอ่ะ

1,753

    สร้างตารางฐานข้อมูล
    <?php
     $dblink = mysql_connect("localhost", "root", "123");
     mysql_query("USE ajax;");
     //ฐานข้อมูลชื่อ "ajax" เราได้สร้างไว้ตั้งแต่บทก่อนๆ หากยังไม่มีต้องสร้างขึ้นก่อน

    $sql = <<<SQL

     CREATE TABLE member(
      id SMALLINT NOT NULL AUTO_INCREMENT,
      login VARCHAR(30),
      password VARCHAR(20),
      email VARCHAR(100),
      name VARCHAR(50),
      UNIQUE(login),
      PRIMARY KEY(id)
     );
    SQL;

     $qry = mysql_query($sql);
     if(!$qry) {
      echo "การสร้างตาราง: member ผิดพลาด";
     }
     else {
      echo "การสร้างตาราง: member เสร็จเรียบร้อย";
     }
     
     mysql_close($dblink);

    ?>
    
    หน้า index.php
     

    <?php
     session_start();
    ?>

    <html>
    <head>
    <script src="/ajaxbook/ajax_framework.js"> </script>
    <script>
    function ajaxSubmit() {
     var action = document.getElementById('bt').value;
     var data = "";
     var URL = "";
     if(action=="เข้าสู่ระบบ") {
      data = getFormData("frm");
      URL = "member_login_ss.php";
     }
     else {
      data = "x=1";
      URL = "member_logout_ss.php";
     }
     
     ajaxLoad('post', URL, data, 'msg');
    }
    function hideForm() {
     document.getElementById('frm').reset();
     document.getElementById('frm').style.display = 'none';
     
     document.getElementById('msg').innerHTML = "ท่านเข้าสู่ระบบแล้ว";
     document.getElementById('bt').innerHTML = "ออกจากระบบ";
    }

    function showForm() {
     document.getElementById('frm').style.display = 'block';
     document.getElementById('bt').innerHTML = "เข้าสู่ระบบ";
    }

    function getStoredLogin() {
     var URL = "getcookie_ss.php";
     
     var data = null;
     
     ajaxLoad('post', URL, data, '');
    }
    </script>
    </head>
    <body style="text-align:center;">

    <div id="msg" style="color:red"></div>

    <div style="width:300px;background-color:#eeeeff;padding:10px;">
    <form id="frm" name="frm">
    ยังไม่ได้เป็นสมาชิก? <a href="member_info.php">สมัครได้ที่นี่</a><p>
    <table>
    <tr><td>Login:</td><td><input type="text" name="login"></td></tr>
    <tr><td>Pswd:</td><td><input type="password" name="pswd"></td></tr>
    <tr><td>&nbsp;</td><td><a href="forgot_pswd.html">ลืมรหัสผ่าน</a></td></tr>
    <tr><td>&nbsp;</td><td><input type="checkbox" id="store_login">เก็บ Login ไว้ที่เครื่องนี้</td></tr>
    </table>
    </form>
    <button id="bt" onclick="ajaxSubmit()">เข้าสู่ระบบ</button>
    </div>
    <?php
     if(isset($_SESSION['login'])) {
      echo "<script> hideForm(); </script>";
     }
     else {
      echo "<script> showForm(); </script>";
     }
    ?>

    <a href="member_info.php">แก้ไขข้อมูล</a> -
    <a href="member_delete.php">ยกเลิกการเป็นสมาชิก</a>

    </body>
    </html>

    <script>
     getStoredLogin();
    </script>



หน้า member_info.php

    <?php
     
     session_start();

     $id = "";
     $login = "";
     $password = "";
     $email = "";
     $name = "";

     if(isset($_SESSION['uid'])) {
      $dblink = mysql_connect("localhost", "root", "123");
      mysql_query("USE ajax;");
      $id = $_SESSION['uid'];
      $sql = "SELECT * FROM member WHERE id = $id;";
      $result = mysql_query($sql);
      $member = mysql_fetch_array($result);
      $login = $member['login'];
      $password = $member['password'];
      $email = $member['email'];
      $name = $member['name'];
      mysql_close($dblink);
     }
    ?> 
    <html>
    <head>
    <script src="/ajaxbook/ajax_framework.js"> </script>
    <script>
    function ajaxSubmit() {
     var data = getFormData("frm");
     
     var URL = "member_info_ss.php";
     
     ajaxLoad('post', URL, data, 'msg');
    }
    </script>

    </head>
    <body style="text-align:center;">
    <h3>ข้อมูลสมาชิก</h3>
    <form name="frm">
    <input type="hidden" name="id" value="<?php echo $id; ?>">
    <div id="msg" style="color:red;"></div>

    <table bgcolor="#eeeeff">
    <tr><td>Login:</td><td><input type="text" name="login" value="<?php echo $login; ?>"></td></tr>
    <tr><td>Pswd:</td><td><input type="password" name="pswd" value="<?php echo $password; ?>"></td></tr>
    <tr><td>Email:</td><td><input type="text" name="email" value="<?php echo $email; ?>"></td></tr>
    <tr><td>ชื่อ:</td><td><input type="text" name="name" value="<?php echo $name; ?>"></td></tr>
    <tr><td>&nbsp;</td><td><p><button onclick="ajaxSubmit()">ส่งข้อมูล</button></td></tr>
    </table>
    </form>
    <p>
    <a href="index.php">หน้าแรก</a>
    </body>
    </html>
    
    
    นี่เป็นตัวอย่างหน้าโค้ดค่ะ เอามาจากหนังสือที่เรียน โหลดโค้ดมาค่ะ ทำไมไม่เปลี่ยนหน้าเลย นิ่งเลยอะ
    ช่วยบอกด้วยนะคะ ขอยคุณค่ะ
    
    
    
    หนูก็อยากทำเว็บโปรเจค ที่ใช้ ajaxด้วยค่ะ เพราะเห็นว่าเป็นเทคนิคใหม่ และช่วยให้ทำงานเร็วขี้นคะ

9 ความคิดเห็น

    ของผมเจอปัญหาเวลาส่งค่าไปให้ Server แต่มันกลับเป็นภาษาต่างด่าว

     

    ปล. ผม set ทุกอย่างเป็น utf-8 หมดเลยนะ

1

ลองหาอ่านบทความบนเว็บนี้เพิ่มเติมนะครับ น่าจะช่วยได้

สำหรับคำถามที่ถามมา ดูจากโค้ดก็น่าจะปกตินะครับ ขาดแต่ว่ามันทดสอบไม่ได้ ก็เลยไม่สามารถหาข้อผิดพลาดได้ ถ้าอยากได้คำตอบ ผมแนะนำให้หาข้อสรุปสักเล็กน้อยว่า มันเกิดอะไรขึ้นบ้าง

หลักๆ ผมแนะนำให้พยายามศึกษาและทำตามตัวอย่างบนเว็บนี้ น่าจะทำให้เข้าใจได้ง่ายขึ้น
2

พี่ค่ะเรื่องภาษาหนูสามารถเคลียร์ได้แล้วคะ

แต่เรื่องทดสอบไม่ได้ กดปุ่มไม่ติดเลยคะ ทำไงก็ทำไม่ได้อ่ะหนูก็ไม่เก่งโค้ดเลยคะ
ฟอร์ม ไม่ส่งค่าไปไหน หรือว่ามันไม่ทำงานเลยอะ นิ่งสนิทค่ะ งงมากมาย ช่วยหนูหน่อยนะค่ะ
3

ดูคร่าวๆ มันเป็นการทำงานในหน้าเดียวโดยอาศัยการทำงานในรูปแบบของ Ajax

โดยการเก็บเอาข้อมูล ในฟอร์มพร้อมทั้งสร้าง request ส่งข้อมูลไปยัง member_login_ss.php
แล้วมีการสร้าง session จาก member_login_ss.php เมื่อ session login ถูกสร้างขึ้นและส่งกลับมายังหน้า index จะถูกสั่งให้ซ่อนฟอร์ม
และเรียก getStoredLogin(); เพื่อให้ getcookie_ss.php ทำหน้าที่สร้างคุ๊กกี้ไว้ยังเครื่องผู้ใช้

หากการทำงานไม่ได้เป็นไปตามที่กล่าวไว้ข้างต้นควรจะตรวจสอบในไฟล์ index.php, ajax_framework.js, member_login_ss.php
ว่ามีการทำงานที่สัมพันธ์กันหรือไม่ รวมทั้งฐานข้อมูลด้วย




4

    มีเครื่องมือที่พอจะช่วยดู request อยู่ตัวนึงน่าจะเป็นประโยชน์ลองเอาไปเล่นดู

    มันเอาไว้ดักจับ request ต่างๆ เพื่อนำไป debug ได้
     ลองเข้าไปโหลดที่นี่ 

5

ajax_framework.js, หนูไม่มีอะ
6

หนูอยากให้ เทคนิค เอเจ็กใช้เขียนโปรเจคเว็บแอปฯ ของหนู

เพราะได้ศึกษาเรื่องนี้มา เบื้องต้น
แต่หนูไม่รู้โค้ดphp เลย รู้น้อยมาก ไม่เข้าใจโค้ด แบบว่าแก้โค้ดไม่ได้อะ
ควรจะศึกษา เริ่มต้น แบบว่า ไม่ใช่เริ่มแต่ศูนย์นะ แบบว่าเขียนโค้ดได้เลย
เพราะหนูคิดว่า โปรเจคหนูเป็นเว็บโรงพยาบาล ระบบตรวจสอบครุภัณฑ์ หนูคิดว่าจะทำระบบ สมัครสมาชิกก่อน login ก่อนเพราะหนูไม่รู้จะเริ่มจาก ตรงไหนค่ะ หนูไม่เคยทำโปรเจคมาก่อน
พวกพี่ๆ ช่วยแนะนำหนูหน่อยนะค่ะ ขอบคุณมากคะ
7

อ้างจากคำตอบที่ #6ajax_framework.js, หนูไม่มีอะ

นั่นแหละ ปัญหาใหญ่เลย... ไฟล์ที่หายไป คงต้องไปหาจากผู้เขียนครับ

ถ้าจะให้แนะนำนะครับ มีวิธีเดียว คือ ค่อยๆศึกษาแบบค่อยเป็นค่อยไป

Ajax ไม่ใช่ ศึกษาวันเดียวแล้วเป็นครับ มันต้องมีพื้นฐานการเขียนโปรแกรมมาก่อน (ไม่ว่าจะศึกษาอะไร ก็ควรมีพื้นฐาน) Ajax เกี่ยวข้องกับหลายส่วน

Javascript
HTML (Dom)
XML
JSON

รู้อะไรบ้าง..? ถ้าไม่รู้คงยากที่จะสำเร็จ

ทางลัดไม่มีครับ นอกจากจะ รวย สามารถจ้างคนอื่นทำแทนได้ (แล้วจะเรียนมันไปทำไมหว่า ?) ถ้าจะถามหาโค้ดที่ทำสำเร็จเลย หรือ รอให้ใครสักคนมาแก้ไขให้ ผมว่าคงต้องร้องเพลงรอ..ไปเรื่อยๆแหละครับ

บนเว็บแห่งนี้ ผมจะพยายามให้ทุกคนสามารถแสวงหาความรู้ได้ด้วยตัวเอง ด้วยความพยายามของตัวเองมันจะทำให้ผู้ที่แสวงหามีความเข้าใจและนำมาปรับใช้ได้ง่ายขึ้น เพราะถ้าเราเข้าใจ เราจะประยุกต์ใช้ได้ไม่รู้จบครับ

ในกรณีของเธอ การเริ่มต้นที่จุดใดจุดหนึ่งไม่ผิดหรอกครับ โดยส่วนตัวผมก็ชอบที่จะเริ่มจากระบบพื้นฐานก่อน เพราะมันจะง่ายที่จะเห็นความสำเร็จแล้วมีกำลังใจที่จะดำเนินการต่อ

แต่เรื่องที่ไม่รู้ หรือ รู้น้อย นี่สิหนักใจ เพราะ จะใช้ Ajax ได้ ก็ต้องรู้พอสมควรครับ เพราะมันไม่ได้ทำแล้วมองเห็นกันง่ายๆ เหมือน PHP ปกติครับ ดังนั้น ต้องเปลี่ยนจาก ไม่รู้ หรือ รู้น้อย ให้เป็น "รู้" ก่อนครับ (และยังต้องศึกษา Javascript Dom XML หรือ JSON อีก)

จะไหวมั้ยเนี่ย...
8

ง่า ผมว่าผมไม่ไหว จะเป็นภายในวันเดียวไม่ได้แน่ๆเลย.
9
^