함께 코드를 분석해 보겠습니다. 첫 번째 줄 :
$movie_id = $_GET['like'];
당신이 코딩으로, 당신은 당신이 진행 다른 디자인 패턴과 모범 사례를 배운다. 당신을위한 조언은 방어 적으로 프로그램하는 것입니다. 이 코드 조각은 처음에는 작동하지만 쉽게 손상 될 수 있습니다. isset
함수를 사용하여 GET 변수가 있는지 확인하십시오 (http://www.php.net/isset).
$temp = "www.hifff.se/details.php?id=" . $movie_id";
당신은 PHP's magic quotes
을 사용하고 있습니다. 마술 따옴표는 그들과 다른 특수 문자 안에 변수를 허용합니다. PHP가 자동적으로 처리합니다, 그래서 거기에 연결을 사용할 필요가 없다 (그리고 코드 블록은 문장의 끝에 견적을 참조, 심지어 잘못) :
이 $temp = "www.hifff.se/details.php?id=$movie_id"; // this works.
참고 : 그냥 발견 그 마술 따옴표는 PHP 5.4 이후로 더 이상 사용되지 않습니다. 필요하지 않다고 생각하면 사용하지 마십시오. 긴 .. 대신 type="text/javascript"
을 사용하기 때문에
echo ("<SCRIPT LANGUAGE='JavaScript'>
언어 속성
은 더 이상 사용되지 않습니다. 대부분의 새로운 브라우저는 어쨌든
<script>
태그에서 자바 스크립트를 사용하기 때문에이 방법이 효과적입니다.
또한 태그 속성에 큰 따옴표 "
을 사용하는 것이 일반적입니다. 누구든지 소스 코드를 살펴 본다면 HTML의 모든 곳에서 작은 따옴표와 큰 따옴표를 사용할 수 있습니다. 다음 줄에
echo ('<script type="text/javascript">
, 당신은 window
객체를 호출 : 세부 사항은, 내 friend..This는 결과가 될 것입니다. 이 개체는 이미 전역 범위에 있으므로 더 이상 덮어 쓰지 않으면 window.
을 쓸 필요가 없습니다.경고가 끝나면 ;
도 누락되었습니다.
alert('Du får bara lajka en gång per film och dygn. Lajka gärna en annan film eller se filmen igen och återkom imorgon!');
마지막으로, 우리는 마지막에 있습니다. 다시 window
은 이미 this
이므로 다시 전체를 쓸 필요가 없습니다. 적은 것이 더 많습니다. 변수 temp
에 http://
을 추가하는 것도 잊지 마세요. 이 상황에서는 전체 URL
을 사용합니다. 웹 사이트 내에서 위치를 쓰는 것이 더 좋습니다.
echo
은 마술 따옴표를 사용하므로 따옴표를 종료하고이 경우 변수를 연결하지 않아도되므로 따옴표가 모두 필요하지는 않습니다.
location.href='$temp';
최근 코멘트 : 당신이 echo
이 .. 한 줄에 모든 것을 보내고있다하면은 당신에게 스트레이트/조직 보입니까? 제 생각에는 모든 것을 한 줄에 버리는 것이 아니라 작은 비트로 모든 것을 나누는 것이 낫습니다. 더 잘 보이고 구조적으로 보일 것입니다. 오류가 발생하면 훨씬 쉽게 찾을 수 있습니다. 코드를 다른 사람이 사용하거나 볼 때 programming style
: http://en.wikipedia.org/wiki/Programming_style을 유지하는 것이 가장 좋습니다. 당신의 PHP의 출력에서
if (isset($_GET['like'])) {
$temp = "www.hifff.se/details.php?id=" . $_GET['like'];
$text = 'Du får bara lajka en gång per film och dygn. Lajka gärna en annan film eller se filmen igen och återkom imorgon!';
echo '<script type="text/javascript">'
. "alert($text); location.href='$temp';"
. '</script>'
;
}
봐 :
이 같은 코드를 작성합니다. 두 번째 줄에는 매우 분명한 구문 오류가 있으며 다른 문제가있을 수 있습니다. – Quentin
$ temp 변수에 $ movie_id 뒤에 빈 큰 따옴표가 필요하지 않습니다. 다른 문제도있을 수 있습니다. – GarethL
스크립트 유형 = "text/javascript", 임시 변수는 $ temp의 할당 끝 부분에 변수 (작은 따옴표 추가), 두 개의 임의의 따옴표로 출력됩니다. 어쩌면 더, 나는 전화 중이야 :). – Kai