2013-02-07 2 views
3

사용자가 사용자 이름과 암호를 삽입하는 양식으로 로그인을 만들어야합니다. html 엔티티가 처리되지 않도록해야하며 작은 따옴표 나 큰 따옴표도 처리 할 수 ​​없습니다. 양식에 입력 된 데이터를 반향 표시해야합니다.str_replace를 사용하여 작은 따옴표와 큰 따옴표를 바꾸는 방법

나는 htmlentities와 str_replace를 사용해야합니다. 나는 htmlentities가 맞지만 str_replace 함수를 사용하여 사용자가 폼에 입력 할 수있는 작은 따옴표와 큰 따옴표를 대체하는 방법을 잘 모르고있다. 어떤 도움이라도 굉장합니다. 여기

는 (작동) 현재 PHP

<?php 
$username = htmlspecialchars($_POST['username']); 
$password = htmlspecialchars($_POST['password']); 
$comment = htmlspecialchars($_POST['comment']); 
?> 
<html> 
<body> 
Your username is: <?php echo $username; ?><br /> 
Your password: <?php echo $password; ?><br /> 
Your Comment was: <?php echo $comment; ?> 

+1

따옴표가 잘못 되었습니까? 그것은 당신의 코드에 따라 아무런 해를 끼치 지 않을 것입니다. (데이터베이스를 사용하고 있지 않으므로 PHP는 자동으로 슬래시를 처리 할 수 ​​있습니다.) –

+0

강사가 원하는 부분입니다. 그는 str_function에 대한 방법을 확실히 알고 싶어합니다. 지금까지 내 머리가 아프다. (나는 PHP에 아주 익숙하다.) –

답변

13

당신이 사용할 수있는, 그것은 this way..,

$yourPostVariable = "scor\"pi'on"; 

//$name = str_replace(array("'", "\""), "", htmlspecialchars($yourPostVariable)); 

echo str_replace(array("'", "\"", "&quot;"), "", htmlspecialchars($yourPostVariable)); 
+0

시간 내 주셔서 감사합니다. ScoRpion !! 당신의 예가 매력처럼 작동했습니다 :) –

+0

@ JeremyFlaugher 언제나 환영합니다 ... – ScoRpion

0

작은 따옴표

str_replace("'", "replace_with", $content); 
1
들어 따옴표

str_replace(chr(34), "replace_with", $content); 

를 대체하기 위해 아래의 코드를 시도하다 나는 당신을 생각 63,

+0

구문 오류가 발생했다. 구문 분석 오류 : 예기치 않은 구문 오류 ';' F : \ xampplite \ htdocs \ Webtech \ samples \ cmweb250_lab2.php에서 2 행 –

+0

예, 닫는 대괄호를 추가했습니다. –

2
$username = htmlentities(str_replace(array('"', "'"), '', $_POST['username'])); 
+0

구문 분석 오류 : 예기치 않은 구문 오류 ';' F : \ xampplite \ htdocs \ Webtech \ samples \ cmweb250_lab2.php 2 행에 추가합니다. 구문 오류가 발생한 부분을 복사하여 붙여 넣습니다. –

+0

누락 된 괄호가 수정되었습니다. – Barmar

0

따옴표를 삭제하려면 확인하시기 바랍니다 원하는 :이와 작은 따옴표를 대체

$search = 'cars "black" in ...'; 
$search = str_replace("\"", "", $search); 
// result: "cars black in ..." 
2
$keyItem = str_replace ("'","\'",$keyItem); 

을에 ' '작은 따옴표 \'를 이스케이프 처리했습니다.

0
$username_test = $_POST['username']; 
$username = str_replace(array("'", "\"", "&quot;"), "",htmlspecialchars($username_test)); 


//same for password :) 
+0

왜 이것이 작동해야하는지에 대한 몇 가지 세부 사항을 추가 할 수 있습니까? 코드 전용 답변은 그리 유용하지 않으며 삭제 될 수 있습니다. – Cristik

+0

이 예제에서 우리는 사용자 이름을 검색 할 것입니다. 이제는 그것이 cris'tik이라고 가정 해 보겠습니다. 이제 사용자 이름에서 인용 부호 (')를 찾아서 공백으로 대체 할 것입니다. 대답이 질문과 관련되어 있으므로 설명이 필요하지 않다고 생각했습니다. – rahul

+0

이긴하지만 질문자가 코드 만 원한다고해도 (이 경우에는 보이지 않습니다.) 그에게 당신의 대답은 충분할 수 있습니다. 따라서 응답자도주는 대신에 사람들을 교육하려고한다는 사실 중 하나입니다. 그들은 복사하여 붙여 넣기 답변. 이것이 해답을 설명하는 해답이 훨씬 더 잘 받아지고 그렇지 않은 해답보다 더 많은 표를 얻는 이유입니다. – Cristik

관련 문제