2016-07-27 4 views
0

처음 여기 뭔가 잘못하고 있다면 사과드립니다.버튼을 클릭하여 문서에 에코 변수

<?php 

$quoteFile = "quotes.txt"; //File holding qoutes 

$fp = fopen($quoteFile, "r"); //Opens file for read 
$content = fread($fp, filesize($quoteFile)); 
$quotes = explode("\n",$content); //Put quotes into array 
fclose($fp); //Close the file 

srand((double)microtime()*1000000); // randomize 
$index = (rand(1, sizeof($quotes)) - 1); //Pick random qoute 

?> 

코드는 무작위로 .txt 파일의 라인 중 하나를 선택하여 텍스트 파일에서 임의의 견적을 가져옵니다 :

나는 다음과 같은 PHP 코드를 가지고있다.

은 그때 사용하여 결과를 에코 :

echo $quotes[$index]; 

을 내가 달성하고자하지만 무엇을 클릭하면이에

echo $quotes[$index];
를 실행하는 버튼 (HTML)를 가지고있다 할 수있을 것하지 않습니다 현재 페이지. 버튼을 클릭 할 때마다 .text 파일에서 임의의 따옴표를 출력합니다.

기본적으로 새로운 임의의 견적을 표시하는 페이지를 새로 고치기 위해 단추를 설정하는 것이 엉망 이었지만 때로는 그냥 공백을 다시로드하여 누군가가이 기능을 향상 시키거나 나를 자극하도록 도와 줄 수 있기를 바라고 있습니다. 올바른 방향. 고마워요.

+0

저는 서버 측과 클라이언트 측 언어가 혼동 스러울 수 있습니다. 사용자가 버튼을 클릭 할 때까지 PHP 코드가 이미 실행되었습니다. 따라서 PHP 함수를 사용하려면 단추와 다른 페이지에 있어야합니다. 버튼을 클릭하면 PHP 함수로 페이지에 AJAX 호출을 사용합니다. –

+0

ajax를 사용하여 php 파일을 호출하여 해당 항목을 표시하려면 해당 단추가 필요합니다. –

+0

오프 주제 : http : // stackoverflow를 참조하십시오.파일에서 임의의 줄을 쉽게 얻을 수있는 방법은 com/a/12119002 –

답변

0

이 같은 세션 변수에 그 변수를 저장하는 시도 할 수 있습니다 :

<span><?php echo $_SESSION['quote']; ?></span> 

이 모든 작업을 수행하려면 세션을 설정해야합니다. 귀하의 PHP 파일의 상단에 쓰기 :

session_start(); 

도움이 될 것입니다. :)

+1

감사합니다. 매우 감사. – Debuggler

-2

TXT 파일의 끝에는 빈 줄이 표시 될 수 있습니다. 이것에 대한 두 번째 설명은 무작위성을 생성하는 방식이 상당히 의심 스럽다는 것입니다.

간단한 예제를 W3 Schools에서 확인하십시오.

$a=array("red","green","blue","yellow","brown"); 
$random_keys=array_rand($a,1); 
echo $a[$random_keys[0]]."<br>"; 

array_rand() 함수는 배열에서 임의의 키를 반환하거나 함수가 두 개 이상의 키를 반환해야 함을 지정하면 임의의 키의 배열을 반환합니다. 단순히

또는 :

<?php 
$a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); 
print_r(array_rand($a,1)); 
?> 

전체 게시물 : 코딩 http://www.w3schools.com/php/func_array_rand.asp

해피!

$_SESSION['quote'] = $quote['index']; 

그런 다음 현재 페이지로 리디렉션하는 앵커 요소 생성 :

<a href="current_page.php">Refresh</a> 

을 그리고 페이지에 결과를 인쇄

+0

어떻게 이것이 버튼 클릭을 사용하여 PHP에서 값을 반환하는 방법에 대한 OP의 질문에 대한 답변입니까? –

관련 문제