2012-03-29 5 views
0

이 이미지 업로드 스크립트를 올바르게 가져오고 싶지만 어떤 이유로 든 설명 입력을 좋아하지 않습니다. 그것은 설명 입력을 추가하기 전에 완벽하게 작동하고 있었고 괜찮 았기 때문에 무엇이 잘못 될지 생각할 수 없습니다. 내 코드가 양식의 설명 입력을 좋아하지 않습니다. 무엇이 잘못 되었나요? 도움 주셔서 감사합니다!양식이 파일 업로드와 함께 PHP로 SQL 테이블에 게시하지 않습니다

HTML 양식

<h1>Image Gallery</h1> 
<form enctype="multipart/form-data" action="upload.php" method="POST"> 
Please choose a file: <input name="uploaded" type="file" /><br /> 
Description: <textarea maxlength="255" name="description" id="description"></textarea><br /> 
<input type="submit" value="Upload" /> 
</form> 

PHP 코드 (이이 전에 코드는하지만 그것은 중요하지 않습니다)

$userid = mysql_real_escape_string($_SESSION['UserID']); 
$imageid = mysql_real_escape_string($i); 
$image = mysql_real_escape_string($rename); 
$description = mysql_real_escape_string($_POST['description']); 
$registerquery = mysql_query("INSERT INTO imageupload (UserID, ImageID, Image, Description) VALUES('".$userid."', '".$imageid."', '".$image."', '".$description."')"); 
if($registerquery) { 
    header('Location: manage.php') ; 
} 
else { 
    echo "<h1>Error</h1>"; 
    echo "<p>Sorry, an error occured. Please go back and try again.</p>"; 
} 
+0

이미지 처리 위치 –

+0

PHP 코드를 입력하기 전에는 정상적으로 작동합니다. 설명 입력에 문제가 있습니다. –

답변

0

는 설명 열 어떤 데이터 형이며,

하여 현재 쿼리를 교체 :

$description = mysql_real_escape_string(strip_tags(stripslashes($_POST['description']))); 
$register = "INSERT INTO imageupload (UserID, ImageID, Image, Description) VALUES('$userid', '$imageid', '$image', '$description')"; 

$registerquery = mysql_query($register) or die (mysql_error()); 


if($registerquery) { 
    header('Location: manage.php') ; 
} 

else { 
    echo "<h1>Error</h1>"; 
    echo "<p>Sorry, an error occured. Please go back and try again.</p>"; 
} 
+0

오류 출력 여부를 확인하십시오. – AviateX14

+0

글쎄, 내 문제가 뭔지 말해 오류가 고 그것을 고정. 틀린 값을 실수로 테이블의 고유 한 키로 사용하여 게시하지 않으려 고합니다 ... 음 ... 도움을 주셔서 감사합니다! –

+0

환영 : – AviateX14

0

어쩌면 당신은 삽입 "와 같은 DB에 대한 이상한 문자가 포함 된 설명; ' ? 등등 ... 당신이 당신의 데이터베이스 PHP 라이브러리 기능을 탈출하여 게시물에서 얻을 설명을 벗어날 경우

는 ... 이것은 당신이 MySQL을 사용하는 경우 SQL 주입을

를 방지하는 것이 좋습니다 : http://www.php.net/manual/en/function.mysql-real-escape-string.php

0

시도 REPLAC 쿼리에서

$description = mysql_real_escape_string($_POST['description']); 
+0

나는 그 이전의 생각을 문제로 생각했지만, 그것을 추가해도 효과가 없었습니다. 나는 그것을 다시 추가 할 것이다. –

+0

아. 이 경우 @ AviateX14에서 제공하는 지침을 따르고 오류가 여전히 작동하지 않는 경우 오류 상태를 알려주십시오. 또한 설명 필드가 예상하는 데이터 유형을 찾기 위해 작업중인 테이블에 대해 DESCRIBE TABLE 쿼리를 수행하는 것이 좋습니다. – kjones

0

인쇄와

$description = $_POST['description']; 

을 보내고과 MySQL의 명령 줄 인터페이스에서 실행하려고, 그것은 오류를 주는가?

설명 문자열을 너무 깨끗하게 청소하지 않으려 고합니다.

관련 문제