2017-04-07 73 views
0

我試圖創造出產生動詞,名詞等,在同一頁面上的幾個隨機字發生器(創建一個最終情節生成器,但用戶可以選擇隨機生成的建議)隨機數發生器字發生器 - PHP

我已經設法創建它,但是,當我在同一頁面上單擊另一個生成器時(例如,如果我單擊提示一個名詞並生成一個單詞,然後我去單擊建議一個形容詞和形容詞產生,但這個名詞從以前框消失)

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Untitled Document</title> 
</head> 

<body> 

<?php 

{ 
{ 

$Noun=array("just", "assume", "there", "are", "lots", "of", "nouns", "in", "here"); 

//echo rand(0, 2); 
$myRandom = rand(0, 99); 
//echo $Cars[$myRandom]; 
//if first name is blank/null then put 
} 
?> 

<form action="quote.php"> 
    Noun<br> 
    <input type="text" name="firstname" 
      value="<?php if (isset($_GET['Noun'])){echo $Noun[$myRandom];} }?>"><br> 
    <input type="submit" name ="Noun" value="Suggest"> 
</form> 

<?php 

{ 
{ 

$Adj=array("just", "assume", "there", "are", "lots", "of", "adjectives", "in", "here"); 

//echo rand(0, 2); 
$Random = rand(0, 99); 
//echo $Cars[$myRandom]; 
//if first name is blank/null then put 
} 
?> 

<form action="quote.php"> 
    Noun<br> 
    <input type="text" name="firstname" 
      value="<?php if (isset($_GET['Adjective'])){echo $Adj[$Random];} }?>"><br> 
    <input type="submit" name ="Adjective" value="Suggest"> 
</form> 

</body> 
</html> 
+0

您的表單中沒有方法。你打算使用'POST'還是'GET'? – Sablefoste

+0

我不太確定,我真的很陌生,我很抱歉。 基本上我試圖重新創建類似的東西在這個網站上http://www.plot-generator.org.uk/story/ - 建議按鈕 我想也許'POST'因爲我只是想要的代碼在框內出現 - 不提交新表單? –

+0

嘿@Gareth,在我給出答案之前,我只想知道。 quote.php是否會重定向到這個頁面,並帶來一些結果? –

回答

0

您可以嘗試AJAX改用將所有的php和html代碼寫入一個頁面,這使得它很笨重。

設置一個ajax調用一個php腳本,它將返回一個隨機名稱,然後將該名稱分配給輸入框。例如;

爲您的輸入和按鈕分配一個ID;

<input id='name' name='name' /> 
<button id="submit">Generate random name</button> 

在你的AJAX腳本,調用PHP腳本

$("#submit").bind("click", function() { 
$.ajax({ 
     type: 'POST', 
      url: "quote.php", 
      success: function(result){ 
       //assign result to input 
       $('#name').val(result); 
      } 
    }) 
    }) 

在你的PHP腳本中,什麼都產生方式的名稱,並通過回聲傳回的結果。

<?php 

//generate random names and other stuff 
echo $random; 

您可以用任何您想要的方式修改它。

讓我知道它是否有幫助,或者如果您發現問題。

+0

嗨感謝您的這一點,但是,這是不可能使用只是PHP?只是出於興趣? –

+0

我不這麼認爲。它可能,但是如果不必繼續加載頁面會更好。此外,你寫的代碼少得多,它的結構更好,jQuery,Ajax和PHP相結合。試一試。 –

+0

欣賞它,我已經用上面的代碼嘗試過了,但它有點過頭了,我無法實現它的工作原理 - 我只在最近2周纔開始使用PHP,並且開始有意義,頁面不刷新你需要一種不同的語言!以前沒有用過Ajax或這些。無論如何,我會繼續嘗試,不知道我做錯了什麼! 乾杯人, –