2011-08-22 4 views
0

공간 대신에 더하기 기호를 찾는 방법이 있습니까? 예를 들어DB 삽입 사용자 : 공백 대신에 더하기 (+) 기호를 입력하십시오.

는 : 그들이 하나를 입력 한 경우

if (isset($_POST['user'])&&isset($_POST['server'])) { 
//Prevent SQL injections 
$user = mysql_real_escape_string($_POST['user']); 
    $server = mysql_real_escape_string($_POST['server']); 

//Check to see if email exists 
$sql = mysql_query("SELECT user, server FROM users WHERE user = '|$user' AND server = '$server'"); 

if (mysql_num_rows($sql)>0) { 

    die ("Name already in use with this server combination."); 

}else { 

    //query the data 
    $query = "INSERT users SET user = '|$user', server = '$server'"; 
    mysql_query($query); 
    echo '<META HTTP-EQUIV="Refresh" Content="0; URL=data-insert.php?success=1&server='.$server.'&user='.$user.'">'; 

} 
} 

나는 $ 사용자가 대신 공간의 + 기호를 갖고 싶어. 가능하거나 없습니까?

도움 주셔서 감사합니다.

+0

HTTP 위치 헤더를 사용하여 * back * breaking meta refresh가 아닌 리디렉션을 수행합니다. – Quentin

답변

1

당신은 INSERT 시간에 간단한 문자열 교체 작업을 수행 할 수 있습니다

$user = str_replace(' ','+',$user); 

는 그 존재를 확인 우주. + 기호를 URI를 통해 전달하려면 encode it (어쨌든 URI에 삽입하는 모든 데이터를 처리해야 함)이어야합니다.

+0

$ sql = mysql_query ("SELECT user, server from 사용자 where 'user ='| $ user 'AND server ='$ server '"); 왜냐하면 더하기없이 입력되기 때문입니다 ... –

+0

@David Meyer 그런 다음 MySQL REPLACE() 또는 WHERE user = REPLACE ('| $) 대신 @AlienWebGuy가 제안한 PHP'str_replace()'를 사용해야합니다. user ','+ ',' ')'더하기를 실행 취소하려면 –

0

하면 교체 :하는 URL에,

$query = "INSERT users SET user = REPLACE('|$user', ' ', '+'), server = '$server'"; 
0

+ 수단을 :

if(strpos($user,' ') !== FALSE) 
관련 문제