banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: matnai01  XML
Profile for matnai01 Messages posted by matnai01 [ number of posts not being displayed on this page: 0 ]
 

ducmanh wrote:
Mình nghĩ rằng bạn không rõ mình đang làm gì??? Vói sql có sẵn có mà bạn 'úp' lên host so với code thực hiện việc truy vấn cái sql đó có gì khác nhau ? 

khác chứ bác, database nằm trên host mình tất nhiên khác nằm trên host người ta rồi :lolsmilie
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
có bác nào biết code tự động cập nhật news vào database của mình không, vietnuke cũng phải tự cập nhật mỗi ngày...
dùng thẻ object, view code trang nào có dùng flash search từ khoá object mà học lõm đoạn code này :lolsmilie dễ thôi mà
các bác cho em hỏi về cách làm web chạy tốt trên firefox? em định dạng các class trong file css và chỉ việc gọi ra bằng thẻ class khi cần nhưng chỉ chạy tốt trên IE mà ko chạy được trên FF, view code html của mấy forum làm như họ mà cũng ko được, của họ thì chạy tốt...không lẽ phải định dạng trực tiếp trong các thẻ html hả các bác?
các bác cho em hỏi về tác dụng của 2 hàm ucworks và ucfirst
đã thử bằng mấy cái tool restone dữ liệu lớn chưa bạn? thử export bằng file gzip rồi import xem thế nào...
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?
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?
toẹt vời smilie) cám ơn bác Thang2rs nhìu nhìu

Em chưa hiểu dùng cái này
Code:
if (get_magic_quotes_gpc()) {
$mediasinger=stripslashes($_GET['kw']);
} else {
$mediasinger=$_GET['kw'];
}
$mediasinger=mysql_real_escape_string($mediasinger);

làm gì, vì em ko dùng vẫn search được mà bác, để chống injection khi search à bác?

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?

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?

Em hỏi nhiều câu quá bác trả lời giùm he, làm phiền bác nhìu!
mã hoá để hạn chế thôi, ko có cách nào hết...mà dấu làm gì, tự tay up được nhiều ko mà dấu smilie

thang2rs wrote:

Đành phải nhắc lại với bạn là việc thêm \ trước các kí tự đặc biệt là bắt buộc.
 

Em cũng nghĩ vậy, mọi thứ tốt cả em chỉ gặp trục trặc về phần search

Có thể lỗi mà bạn gặp là do 2 lần gọi mysql_real_escape_string() (bạn nói là do ở 2 file khác nhau gì đó)? Tuy nhiên, dù thế nào thì có thể bạn không tìm được kết quả như mong đợi chứ không thể gây lỗi được.

Bạn cho xem chính xác chuỗi query trước khi gọi mysql_query() mà bạn nói là gây lỗi đi!

 

tất nhiên em thử hết các cách rồi bác à, ví dụ chuỗi là I'm MatNai Khi ko thêm mysql_real_escape_string() sẽ có giá trị như vậy Nếu thêm mysql_real_escape_string() vào để lọc sẽ lấy giá trị thật là I\'m MatNai

Nhưng vấn đề khi em muốn search từ khoá này link form search sẽ bị ngắt quãng khi gặp ký tự ' ở đây chưa nói đến việc query search gặp lỗi gì mà vấn đề là link của form search bị ngắt quãng, ví dụ như từ khoá trên link search sẽ là index.php?act=search&kw=I chuỗi đằng sau sẽ bị mất vì gặp dấu '

Em thấy code của các forum thường sẽ đổi các ký tự này khi search dạng %20%26...

Help me!
thanks pro!
lại nói về vấn đề search , em đang mắc khi search chuỗi có chứa ký tự meta bác ui.

dùng bộ lọc của bác thực chất khi gặp ký tự meta sẽ thêm vào đắng trước ký tự /vì vậy khi search chuỗi có chứa ký tự meta tức có / sẽ báo lỗi query ngay, phải giải quyết vấn đề này thế nào bác ui
ohhhhhhhhhh em làm được rồi bác thang2rs ui, phần chạy query cũng phải thêm cái này nữa $mediasinger=mysql_real_escape_string($mediasinger); vì phần input data và phần chạy query của em ở 2 file khác nhau mà...

Cám ơn bác rất nhiều, bộ lọc của bác rất tuyệt

cho em hỏi thêm: bác nói % giống * trong Dos, vậy cụ thể trong sql người ta thường dùng với mục đích gì vậy? trong các trường hợp nào?

Em chỉ còn phần session đáng ghét nữa thôi smilie có lẽ phải dùng đến chiêu cuối cùng là thêm @ vào session_start
bác ui chỗ này là sao vậy
LIKE '%$mediasinger%'";
sao lại dùng % ok em sẽ thử xem thế nào

Chỉ cần đặt đoạn

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

$mediasinger=mysql_real_escape_string($mediasinger);

để lọc khi input data thôi phải ko bác, có cần đặt ở phần chạy query ko?
thanks thang2rs
nhưng ko hiểu sao em làm vậy mà ko thấy có kết quả gì, bác xem code trên của em đúng như ý bác nói chưa?

em chỉ bị lỗi khi chạy query có dùng LIKE

thang2rs wrote:
mysql_real_escape_string(): Như tên gọi của nó, đây là hàm dùng để escape một chuỗi trước khi đưa vào query. Mặc dù là hàm của PHP nhưng hàm này gọi các thư viện hàm của MySQL. Do đó hàm này bảo đảm chuỗi đưa vào vừa chính xác vừa an toàn (tránh các SQL injection hay các kí tự vô tình làm hỏng các query). Dùng nó như sau:

Nếu $str lấy từ user input, kiểm tra magic quote, nếu =on trả $str về đúng giá trị của nó:

if (get_magic_quotes_gpc()) {
$str=stripslashes($_POST['name']);
} else
$str=$_POST['name'];

Escape $str:

$str=mysql_real_escape_string($str);

Sau đó đặt $str vào 2 dấu ' như bạn đã dùng.
 

em đã làm thử nhưng vẫn ko được bác ui
em cho đoạn này vào phần input của user (file post.php)
Code:
if (get_magic_quotes_gpc()) {
$mediasinger=stripslashes($_POST['mediasinger']);
} else
$mediasinger=$_POST['mediasinger'];
$mediasinger=mysql_real_escape_string($mediasinger);

kết quả thấy y chang như em đang dùng hàm addslashes, nếu giá trị input có ký tự meta nó sẽ tự sinh ra dấu \ trước nó, khi chạy query vẫn có lỗi...
à, nhưng khi vào trang chủ đã bị vậy rồi, trang chủ của em chỉ view ra topdown, toplist, newsong. khi play 1 bài nào mới liên quan đến cái query lỗi của em mà bác
cám ơn thang2rs nhìu!

nhưng các query của tôi chạy tốt cả, biết kiểm tra thế nào được nhỉ?

thang2rs wrote:
1. zeroj nói đúng. Bạn đã gởi cái gì đó đến client trước session_start(). Tôi đoán là bạn không gọi trực tiếp index.php mà wwwect từ 1 script khác. Kiểm tra script này xem sao.

2. Trong PHP có hàm mysql_real_escape_string($str). Dùng hàm này. Lưu ý là $str mang đúng giá trị của biến. Nếu $str đã quote (do magic quote = on) thì phải trả $str về đúng giá trị bằng stripslashes(). 

đảm bảo 100% ko phải tại có khoảng trắng hoặc thừa ký tự nào đó trước function session_start

Tôi gọi trực tiếp file index.php, ko qua script nào cả
Bác nói cụ thể hơn về mysql_real_escape_string($str) đi, dùng nó như addslashes... à?

Tui khai báo
Code:
<?
session_start();

trên cùng trog file index.php

khi chưa login báo như vầy
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /www/nghenhac/index.php:1) in /www/nghenhac/index.php on line 2 

khi login vào nó báo như vầy
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /www/nghenhac/index.php:1) in /www/nghenhac/index.php on line 2 


2 lần Warning: khác nhau đó các bác nhé
nó báo ko có file yahoo.php gì đó của bạn, thử up lại xem

vtv_4 wrote:
Bạn đưa file lên đây đi. 

đây bạn

Code:
<?php
session_start();
if (isset($_COOKIE['MediaOnlineCookie'])) {
$_SESSION["user"] = $_COOKIE['MediaOnlineCookie'];
}
?>
oài làm hết cách mọi người nói rồi mà ko được, vấn đề về session là do server, vì tôi cài localhost bằng appserv chạy tốt, up lên host thì ko được

lỗi do ký tự meta dùng hàm addslashes cũng ko được, hàm này cũng y chang như htmlspecailchars chỉ có tác dụng lọc dữ liệu nhập vào, dữ liệu đã nhập vào khi chạy các query như đã nói thì ko lọc được.

làm ơn cho thêm ý kiến!
ok tôi sẽ thử đưa lên trên cùng...có lẽ cũng ko phải lý do này, vì bạn thấy đó lỗi server báo là ở dòng 1 mà, tui cũng để ở trên cùng rồi mà.

có lần tôi mail cho chủ server họ fix như thế nào ko biết, code thì vẫn y nguyên nhưng nếu up đè file khác trên host là tiu liền, edit thì ok
Thank all
vtv-4 thông minh y như tui smilie bữa trước tui cũng ko dùng được tag code cũng có ý định chụp bài viết post bằng ảnh...tui phải viết cách các câu lệnh mới post được, bác admin xem lại giùm, cho vào tag code rồi mà vẫn báo lỗi...

lỗi thứ nhất tui nghĩ là do server, ko phải tại unicode vì tôi code php bằng pmeditor, save as UTF-8, có lẽ như vtv-4 đã nói server tự động "quotes" gì đó tui ko hiểu về server, vấn đề là làm sao fix được khi mình dùng server của người ta (host free pó tay) có lần tui mail cho chủ host, người ta fix được ngay trong vài giây, hầu hết các server hiện nay ko cho sent session theo kiểu này. Tui lại ko biết code kiểu khác, rất mong được các bác giúp đỡ

Lỗi thứ 2 tui cũng đã làm như vtv-4 đã nói dùng hàm addslashes nhưng tui lại gán trước khi chạy query nên ko được, tui sẽ làm như vtv-4 xem thế nào

Lỗi thứ nhất làm ảnh hưởng toàn bộ code trang nhạc, ko fix được = ko dùng được code này, rất mong được các bác giúp đỡ, nếu ko fix được các bác có thể code mới phần session cho em với, em ko thể dùng được trên bất kỳ server nào, cài trên local bằng appserv thì ok cài bằng easyphp thì bị lỗi như trên host
1, Lỗi sent session cookie

khai báo session trong file indix.php thế này

Code:
session_start();
if (isset($_COOKIE['mediaonline'])) {
$_SESSION["user"] = $_COOKIE['mediaonline'];
}

server báo lỗi thế này:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /public_html/music/index.php:1)


2,lỗi bởi các ký tự meta...

ví dụ ký tự này ' các biến nhập vào chứa ký tự ' khi sử dụng biến này trong các query sẽ báo lỗi
ví dụ: $casi nhập vào giá trị sau " Li'knigt "
khi chạy query này sẽ bị lỗi
Code:
S ELECT * FROM $data->table_media WHERE mediasinger LIKE '".$n["casi"]."'


Làm ơn fix giùm tôi
vậy nếu data lớn quá thì phải làm sao? thông thường tui thường open file sql ra, cut & paste thành từng file nhỏ hơn rồi import từng file một. Nếu để dạng gz thì pó tay. 

Làm bằng tay làm gì cho mệt, hay bị lỗi...
Nếu data lớn quá thì backup vài table một, table nào lớn cho riêng ra 1 file

ok?
 

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