2013-05-17 2 views
0

내가 질문을 사람을 통해 온,PHP 패스 변수까지 페이지

어떻게 최대 변수 페이지 전달할 수 있습니다 (같은 페이지를?).

나는 그것에 대해 생각해 보았지만 그것을 스스로하는 방법을 생각할 수 없었습니다. 그래서 그것이 가능할 지 궁금해하고 있었습니까?

그래서 그는 페이지 하단의 $a 값을 $a과 동시에 변경하려고했습니다.

가능합니까? 그렇다면 어떻게?

고맙습니다.

<?php 
echo("Begining " . $a); 
?> 
<html> 

<head> 
<title>Test Variables</title> 
</head> 

<body> 
<form> 
<form action="<?=$PHP_SELF?>" method="POST"> 
<input type="TEXT" name="testf" size="10"> 
<input type="submit" name = "submit" value = "submit"></form><?php 
if ("submit" == $submit) { 
$a = $testf; 
echo("Bottom " . $a); 
} 
?> 
</body></html> 

편집 :

답변을 본 후, 어쩌면 그것은 JQuery와, 아약스 또는 자바 스크립트로 할 수 있는가?

+0

참조를 사용할 수 있지만 변수 값을 사용하여 "echo"하는 경우 해당 문자열에서 변경되지 않습니다. –

답변

-1

PHP에서는 할 수 없지만 자바 스크립트를 사용하여 완전히로드되면 HTML을 변경할 수 없습니다 (jquery를 사용하면 쉽게 변경할 수 있습니다).

EDIT : ok 처음에는 코드를 조금 빨리 읽었습니다. <html> 태그 전에 echo을 이해할 수 없지만 올바르게 보이지 않습니다. 또한 당신은 그래서 그냥, $a에 POST var에 값을주고 싶다 :

if(isset($_POST['testf'])) { 
    echo $_POST['testf']; 
} 
+0

어떻게 또는 무엇을 검색 해야할지 알고 싶습니까? –

1

아니, 당신은 정상에 if 문을 이동해야하며, 어떤 변수가 당신이 될 수있는 그 필요성을 계산 if 문도 맨 위에. 같은

뭔가 : 당신은 어쨌든 HTML을 출력하기 전에 그것은 좋은 연습 간주

<?php 
if ("submit" == $submit) { 
    $a = $testf; 
} 
echo("Begining " . $a); 
?> 
<html> 

<head> 
<title>Test Variables</title> 
</head> 

<body> 
<form> 
<form action="<?=$PHP_SELF?>" method="POST"> 
<input type="TEXT" name="testf" size="10"> 
<input type="submit" name = "submit" value = "submit"></form><?php 
echo("Bottom " . $a); 
?> 
</body></html> 

모든 논리를 가지고 있습니다. HTML은 이상적으로 가능한 한 적은 로직을 가져야합니다.

더 많은 정보 : https://stackoverflow.com/a/95027/320615https://stackoverflow.com/a/1088791/320615

+0

나는 이해하지만, 나는 그걸 페이지 상단으로 옮길 수 없다고 말하며 어떻게 그럴 수 있겠는가? –

+0

@SamHam, ['ob_start'] (http://php.net/ob_start)를 사용할 수는 있지만 코드가 더 읽기 어려울 것입니다. – Dogbert

0

당신은 $_POST['testf']$_POST['submit'] 변수를 사용해야합니다.

그리고 그것은는 isset으로 존재하는 경우도 확인 : 당신은 아마 거꾸로 구부릴 수 어떻게 든 그 일을하기 위해 php manual isset

<?php 
echo("Begining " . $a); 
?> 
<html> 

<head> 
<title>Test Variables</title> 
</head> 

<body> 
<form> 
<form action="<?=$PHP_SELF?>" method="POST"> 
<input type="TEXT" name="testf" size="10"> 
<input type="submit" name = "submit" value = "submit"></form><?php 
if ("submit" == $submit) { 
$a = $_POST['testf']; 
echo("Bottom " . $a); 
} 
?> 
</body></html> 
1

.

그러나 실제 답변은 모든 비즈니스 로직을 처리하는 것입니다. 전에 HTML 출력을 시작하십시오. 코드 시작 부분에을 현재 요청이 양식 제출인지 여부와 그에 따라 변수 및 HTML 템플리트를 설정할지 결정해야합니다. 비즈니스 로직을 HTML 템플릿의 중간에 섞지 마십시오.

+0

이것은 지금까지이 스레드에서 가장 좋은 대답 인 것 같습니다. @ 샘 햄. 나쁜 연습 문제 해결 방법으로 해킹하려고 시도하는 대신이 대답을 시도해야합니다. – thpl

관련 문제