Chào, Khách!
  1. kizbrother
    Offline
    kizbrother   [4/0]
    Chào mọi người, em vừa nhìn vào ngôn ngữ PHP.

    Em có một câu hỏi nhờ php giải giúp/

    - Em có một data ( tạo bằng mySQL)

    - Em đã viết sẵn 3 trang nhưng mà không thể nào chèn thông tin vào CSDL bằng câu lệnh được.

    ## Trong file nén em đính kèm có 4 file:

    - data ( test.sql)
    - nhap.php ( form nhập thông tin )
    - xuly.php ( trang này em định dùng để chèn thông tin vào CSDL)
    - lienketcsdl.php ( dùng để kết nối CSDL)

    Em viết hoài nhưng không thành công, mong các pro giúp em nhé/
    Cám ơn thật nhiều,

    Tải tại đây tập tin và CSDL tại đây: http://www.mediafire.com/?y06ta71uz8ntohf
  2. chip
    Offline
    chip   [777/778]
    --->vầy là sao, viết code mà không kiên nhẫn, không có sự rèn luyện thì sao phát triển được.
    kizbrother thích bài này.
  3. hoekaka
    Offline
    hoekaka   [359/114]
    Dow về mở ra nản ...
    kizbrother thích bài này.
  4. hongoctrien
    Offline
    hongoctrien   [2.449/2.464]
    Bạn phải tìm hiểu từ cái cơ bản. Mình gọi thế này nhé.
    Trong file xuly.php của bạn:
    - Chèn vào file ketnoicsdl.php
    - Tìm hiểu phương thức truyền dữ liệu từ form (cụ thể trong code của bạn là post)
    - Thao tác với dữ liệu (cụ thể là INSRT INTO)
    kizbrother thích bài này.
  5. kizbrother
    Offline
    kizbrother   [4/0]
    Không phải anh Admin ạ, em viết nhiều rồi mà không được nên mới nhờ các anh chứ. Đây là trang Xử lý ( xuly.php) mà em viết nhưng không được.

    Mã:
    
    <?php 
    // Kết nối với CSDL
    include("ketnoicsdl.php"); 
    
    /*// Gán các biến nhập vào
    $stt = $_POST["sothutu"];
    $nd = $_POST["noidung"];
    
    	// gán $query cho dễ dùng
    	//$query = INSERT INTO test ('ten','noidung') VALUES ('1','2');
    	echo 'Thành công!';
    	echo $stt;
    	echo null;
    	echo $nd;
    		//Sử dụng lại
    		//mysql_query($query) or die (mysql_error($query));
    
    
    
    /**/
    if($submit <> 'Post')
    {
    echo 'Không nhập thành công, vui lòng nhập lại';
    include ("nhap.php");
    }
    
    else
    
    { 
    $query = "INSERT INTO csdl.test(ten,noidung) values( $_POST["sothutu"]', ' $_POST["noidung"]')";
     mysql_query($query) or (mysql_error());
    }
    ?>
    <h2>Thanks!!</h2>
    
    
    Mong các anh chỉ giúp/.

    Sao nản vậy bạn, mình làm sai chổ nào trong 2 file kia ạ

    Em kiên hơn 2 ngày rồi anh ạ, anh giúp em nhé!
  6. hongoctrien
    Offline
    hongoctrien   [2.449/2.464]
    Trong file xuly.php của bạn, sai ở chổ hàm if, kiểm tra điều kiện sai nên nó cứ báo không thành công mãi, ko biết bạn lấy biến $submit ở đâu ra :)

    Thứ nhất, bạn xem lại

    Mã:
    if($submit <> 'Post')
    Bạn có thể thay bằng hàm empty (rổng)

    Mã:
    if(empty($_POST[sothutu]) || empty($_POST[noidung]))
    Thứ 2, trong trường hợp này, ở đoạn code thực hiện lệnh chèn, phần chỉ định tên bảng, ban chỉ cần chỉ định tên bảng là đủ, không cần phải chỉ rõ tên CSDL nữa

    Mã:
    $query = "INSERT INTO test values('$_POST[sothutu]', '$_POST[noidung]')";
    Thứ 3:

    Mã:
    values([COLOR="red"]dấu nháy đơn ở đây[/COLOR]$_POST[[COLOR="red"]"[/COLOR]sothutu[COLOR="red"]"[/COLOR]]', ' $_POST[[COLOR="red"]"[/COLOR]noidung[COLOR="red"]"[/COLOR]]')";
    Bởi thế mình nói bạn tìm hiểu cơ bản đã.

    Gửi bạn code file xuly.php mình đã sửa theo code của bạn, tổng hợp các ý trên thôi

    Mã:
    <?php 
    // Kết nối với CSDL
    include("ketnoicsdl.php"); 
    if(empty($_POST[sothutu]) || empty($_POST[noidung]))
    {
    echo 'Không nhập thành công, vui lòng nhập lại';
    include ("nhap.php");
    }
    
    else
    
    { 
    $query = "INSERT INTO test values('$_POST[sothutu]', '$_POST[noidung]')";
     mysql_query($query) or (mysql_error());
    }
    ?>
    <h2>Thanks!!</h2>
    Thứ 4, trong CSDL của bạn, đối với các trường tiếng việt, bạn nên chọn kiểu dữ liệu cho nó là utf-8

    Như anh chip nói, học mấy cái này phải kiên trì, 2 ngày là quá ít :)
    kizbrother thích bài này.
  7. kizbrother
    Offline
    kizbrother   [4/0]
    2 ngày để thử, 24/24 chỉ một vấn đề nhỏ mà chưa làm ra mà, cám ơn các anh em thử nhé!

    Vẫn bị lỗi, ai test thử dùm em đi, chứ em test hoài rồi mà,

    Mã:
    Notice: Use of undefined constant sothutu - assumed 'sothutu' in C:\xampp\htdocs\Life\xuly.php on line 4
    
    Notice: Use of undefined constant noidung - assumed 'noidung' in C:\xampp\htdocs\Life\xuly.php on line 4
    Thanks!!
  8. hongoctrien
    Offline
    hongoctrien   [2.449/2.464]
    Mã:
    $query = "INSERT INTO test values('$_POST["sothutu"]', '$_POST["noidung"]')";
    Bạn thử bỏ lại dấu " nhé.
    kizbrother thích bài này.
  9. kizbrother
    Offline
    kizbrother   [4/0]
    Em làm cái này lâu rồi mà vẫn lỗi anh ạ!
  10. hongoctrien
    Offline
    hongoctrien   [2.449/2.464]
    Mã:
    if(empty($_POST["sothutu"]) || empty($_POST["noidung"]))
    Thay tiếp đoạn này.

    hic, mình dùng localhost xamp, chạy ổn :)
  11. chip
    Offline
    chip   [777/778]
    ---->lỗi gì sao không chịu post lên để mọi người nhìn thấy, em đừng tưởng ai cũng hiểu em đang muốn nói gì và nghĩ gì.
  12. jnomanh
    Offline
    jnomanh   [2/0]
    Bạn thử dùng localhost xamp xem sao nhé!
  13. chip
    Offline
    chip   [777/778]
    --->đừng đưa ra một giải pháp mà mình không hiểu nguyên nhân từ đâu