banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows fix giùm tôi lỗi trong php  XML
  [Question]   Re: fix giùm tôi lỗi trong php 26/07/2006 22:20:53 (+0700) | #31 | 10142
thang2rs
Member

[Minus]    0    [Plus]
Joined: 06/07/2006 18:45:35
Messages: 46
Offline
[Profile] [PM]
Code:
if (get_magic_quotes_gpc()) {
  	$mediasinger=stripslashes($_GET['kw']);
} else {
  	$mediasinger=$_GET['kw']; 
}
  
$mediasinger=mysql_real_escape_string($mediasinger);


Lại phải nhắc lại: cái này là bắt buộc mặc dù trong trường hợp của bạn là không cần thiết. Tôi đoán là server đã set magic quotes = on. Khi đó nếu $mediasinger="it's me" chẳng hạn sẽ mang giá trị mới là "it\'s me". Kí tự ' đã được escaped và bạn có thể dùng $mediasinger trong mysql_query() mà không gây bất cứ lỗi nào. Tuy nhiên nếu magic quotes = off thì vấn đề sẽ phát sinh. Lí do là "it's me" mà không được escaped thì sẽ gây lỗi khi chạy mysql_query(). Hơn nữa mysql_real_escape_string() escape các kí tự đặc biệt khác với cách của server (đã nói rất rõ ở các bài trước).

Code:
cho em hỏi thêm về cái title khi di chuột vào tên singer có dấu ' cũng bị ngắt quãng luôn, phải dùng hàm gì bác ui?


Dùng như ta đã dùng với urlencode() và htmlentities()

Code:
Hàm gì để lấy ký tự đầu tiên và cuối cùng của chuỗi bác nhẩy, vì khi người ta nhập dấu cách vào đầu hoặc sau chuỗi sẽ gây rối loạn bộ search của em, em muốn lọc luôn khi user đăng bài, mà làm sao làm mất dấu cách ở đầu(or cuối) đi được bác, dùng hàm str_change có được ko?


$mediasinger=trim($mediasinger);

Cách dùng:

if (get_magic_quotes_gpc()) {
$mediasinger=stripslashes($_GET['kw']);
} else {
$mediasinger=$_GET['kw'];
}

$mediasinger=trim($mediasinger);

$mediasinger=mysql_real_escape_string($mediasinger);
[Up] [Print Copy]
  [Question]   fix giùm tôi lỗi trong php 29/07/2006 01:54:51 (+0700) | #32 | 10707
matnai01
Member

[Minus]    0    [Plus]
Joined: 01/07/2006 01:11:40
Messages: 27
Offline
[Profile] [PM]
Bác thang2rs ui, sao em ko dùng được get_magic_quotes_gpc() với giá trị của $_GET nhỉ, với $_POST thì ok nhưng với $_GET thì báo lỗi, ko thêm vào thì ko sao. Bác nói "Tôi đoán là server đã set magic quotes = on" em đang test trên localhost mà, nếu mang up lên host nó lại bị lỗi thì sao bác, phải làm sao để dùng được get_magic_quotes_gpc() cho $_GET bác ơi?

em dùng cho việc search ấy mà, ko dùng get_magic_quotes_gpc() liệu có vấn đề gì ko bác?
[Up] [Print Copy]
  [Question]   fix giùm tôi lỗi trong php 29/07/2006 02:08:30 (+0700) | #33 | 10709
[Avatar]
vtv_4
Elite Member

[Minus]    0    [Plus]
Joined: 12/04/2002 19:31:12
Messages: 20
Offline
[Profile] [PM]
ko dùng được get_magic_quotes_gpc() với giá trị của $_GET 


Nghĩa là sao hả bạn???
[Up] [Print Copy]
  [Question]   fix giùm tôi lỗi trong php 29/07/2006 02:09:48 (+0700) | #34 | 10710
[Avatar]
vtv_4
Elite Member

[Minus]    0    [Plus]
Joined: 12/04/2002 19:31:12
Messages: 20
Offline
[Profile] [PM]
Bạn upload file .php của bạn lên đây đi
[Up] [Print Copy]
  [Question]   Re: fix giùm tôi lỗi trong php 29/07/2006 02:23:02 (+0700) | #35 | 10715
thang2rs
Member

[Minus]    0    [Plus]
Joined: 06/07/2006 18:45:35
Messages: 46
Offline
[Profile] [PM]
"gpc" trong get_magic_quotes_gpc() chỉ GET/POST/COOKIES. Dùng get_magic_quotes_gpc() để biết server có set quote hay không. Nếu không, các biến $_GET/$_POST/$COOKIES mang đúng giá trị của nó (và ta không phải làm gì cả). Nếu có, ta phải trả biến về đúng giá trị của nó (dùng stripslashes()).

Trong mọi trường hợp ta cần có giá trị đúng của biến, sau đó tuỳ trường hợp mà ta sẽ xử lí tiếp.

Trong trường hợp của bạn, do bạn gởi biến qua URL (index.php?act=search&kw=...) nên biến $kw lấy từ $_GET['kw']. Trước khi lấy $kw ta phải kiểm tra magic quote, rồi tuỳ trường hợp mà ta dùng stripslashes(), từ đó ta mới có giá trị đúng của biến. Sau ta escape biến này bằng mysql_real_escape_string() trước khi đưa vào mysql_query(). Nếu bạn bỏ qua bước này, giả sử server set quote = On, thì khi gọi mysql_real_escape_string() bạn sẽ escape 2 lần. Và kết qu3a tất nhiên sẽ khác.

[Up] [Print Copy]
  [Question]   Re: fix giùm tôi lỗi trong php 29/07/2006 11:22:59 (+0700) | #36 | 10840
matnai01
Member

[Minus]    0    [Plus]
Joined: 01/07/2006 01:11:40
Messages: 27
Offline
[Profile] [PM]
Nghĩa là sao hả bạn??? 

em nói tắt, bác đọc bài viết trên là hiểu ý em mà smilie)
nên biến $kw lấy từ $_GET['kw']. Trước khi lấy $kw ta phải kiểm tra magic quote 

em đặt code kiểm tra ở file index thì báo lỗi không tìm thấy gì hết. Nếu đặt ở file search thì ko thấy động tĩnh gì, ko thấy gì khác so với khi ko đặt, có nhất thiết phải đặt ở index ko bác, em nghĩ chỉ cần đặt phía trên đoạn code search là được bác nhẩy (trước khi mang so sánh với giá trị trong database của mình)

bác thanh2rs đọc PM của em chưa vậy?
[Up] [Print Copy]
  [Question]   fix giùm tôi lỗi trong php 31/07/2006 06:20:43 (+0700) | #37 | 11210
matnai01
Member

[Minus]    0    [Plus]
Joined: 01/07/2006 01:11:40
Messages: 27
Offline
[Profile] [PM]
các bác cho em hỏi về tác dụng của 2 hàm ucworks và ucfirst
[Up] [Print Copy]
  [Question]   fix giùm tôi lỗi trong php 01/08/2006 06:33:58 (+0700) | #38 | 11497
[Avatar]
conhan
Member

[Minus]    0    [Plus]
Joined: 20/05/2003 15:36:16
Messages: 28
Location: Bụng mẹ
Offline
[Profile] [PM]
Upload các file lên mạng, mở file nó báo lỗi, xoá mấy ký tự lạ trước dấ mở PHP ( <? ) là xong
[Up] [Print Copy]
  [Question]   fix giùm tôi lỗi trong php 01/08/2006 23:49:48 (+0700) | #39 | 11656
matnai01
Member

[Minus]    0    [Plus]
Joined: 01/07/2006 01:11:40
Messages: 27
Offline
[Profile] [PM]
lỗi này mọi người thường nghĩ ngay đến việc như bác nói...do vấn đề viết code...nhưng ko phải vậy bác à, có lẽ tại cách khai báo session và cookie của em chưa chuẩn, chỉ còn cách thêm @ vào đằng trước thôi.

bác nào trả lời em về 2 hàm ucworks và ucfirst với
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|