2017-03-27 8 views
0

私はテキストを受け入れ、そのテキストを$ _POSTスーパーグローバルに保存するテキストエリアボックスを作成することができますが、提出するとそのテキストをボックスに戻すことはできません。 (フォームは自己提出です)。私が提出されたデータに簡単なエコーを実行すると、以下のスクリプトの終わりに向かって示すように、しかし、それは(細かい表示されます。私はテキストエリアボックスに自己申告することができますか?

<!DOCTYPE html> <body> <?php require("Connection_to_WS.php"); 
echo ("<form action='Edit_Thread_Description.php' method='post'>"); 

IF (ISSET($_POST['revised_thread_descr'])) { 
$revised_thread_descr=($_POST['revised_thread_descr']); 
ECHO "Edit the Revised_Thread_Description here: <br> <textarea name='revised_thread_descr' rows='5' cols='50' value= $_POST[revised_thread_descr]";  // Fails to return any text on Submit. 
?><p></textarea></p><br><?php 
} 
ELSE {$revised_thread_descr= '[some default]'; 
ECHO "Edit the Revised_Thread_Description here: <br> <textarea name= 'revised_thread_descr' rows='5' cols='50' value= $revised_thread_descr"; 
?><p></textarea></p><br><?php 
} 
ECHO '<br>'; 
echo $_POST['revised_thread_descr']; // Succeeds in returning POST text from the textarea box upon Submit (but outside of the textarea box). 
ECHO '<br>'; 
echo "Click 'Submit': <input type='Submit' name='submit' value='Submit'/>"; 
echo '<br>'; 
mysqli_close($connection); 
?> 
</body> </html> 

ものと同じ種類を行う「<input type」を使用して微風だったが、I協力する<textareaを得るに沈ん時間を」VEの。私は私がどのような援助に感謝するだろう。

+3

テキストエリアは、コンテンツに応答の –

答えて

2

アン・ソフィーが言ったように、textarea要素 (https://www.w3schools.com/tags/tag_textarea.asp

あなたの場合には、 『値』プロパティはありませんコンテンツを動的に追加したい場合は、

私はあなたがPHP + HTMLで動作するとき

<?= XXX ?><?php echo XXX; ?>の略ですはるかにきれいだと思うあなたがそれをエコーする必要が

<?php if (isset($_POST['revised_thread_descr'])): ?> 
<textarea><?= $_POST['revised_thread_descr'] ?></textarea> 
<?php else: ?> 
    // 

注意、私の例では、私は別の構文を使用し、 (http://php.net/manual/fr/control-structures.alternative-syntax.php

+0

感謝を表示するために値を使用していません。彼らは私に沿って私を振る助けた。 IF(ISSET($ _ POST ['revised_thread_descr'])): $ revised_thread_descr =($ _ POST ['revised_thread_descr']);あなたの提案に従う私の試みは次のとおりです。 ?>

Revised_thread_descr - HERE EDIT:


Sebastian

0

私は上記の「コメント」を使って回答を拒否しました。これは次のコメントを続けます:

このコードは機能しますが、POSTスーパーグローバル経由でスクリプトに返された発言と共にボックスを再投入しません。

IF(ISSET($_POST['revised_thread_descr'])): 
$revised_thread_descr=($_POST['revised_thread_descr']); ?> 
<p> Revised_thread_descr - Edit here:</p><textarea 
name='revised_thread_descr' rows='5' cols='50' 
<p></textarea></p><br> 
<?php 

ELSE: 
    $revised_thread_descr= '[some default]'; ?> 
<p> Revised_thread_descr - Edit here:</p><textarea name=  'revised_thread_descr' rows='5' cols='50' 
<p></textarea></p><br> 
<?php 
    ENDIF; 

echo "Click 'Submit': <input type='Submit' name='submit' value='Submit'/>"; 
echo '<br>'; 
mysqli_close($connection); 
?> 
</body> 
</html> 

このコードは、<p>タグのわずかに異なる配置で、アップゴブルズと終了</textarea>タグの後に来るすべてのHTML材料が表示されます。

IF(ISSET($_POST['revised_thread_descr'])): 
$revised_thread_descr=($_POST['revised_thread_descr']); ?> 
<p> Revised_thread_descr - EDIT HERE:</p><p><textarea name=  'revised_thread_descr' rows='5' cols='50' 
</textarea></p><br> 
<?php 

以下のブラウザレンダリングのスクリーンショットと同じです。 screenshot of browser rendering of script above

ありがとう、btw、代替構文を試してくれてありがとう!あまり混乱しない。

+1

textareaの開始タグを閉じなかったので、 '' –

0

あなたを祝福してください!私はあきらめて回避策をとろうとしていました。私はあなたが示唆したように、そのタグキャレットを入れて、それはすべて働いた。ここには、すべての作業と、テキストエリアのボックスが正しく配置されて、その要点です。あなたの忍耐と永続性に感謝します。それがより簡単になると教えてください...。 <?phpの//ポストのもの>

<!DOCTYPE html> <body> 
<?php 
echo ("<form action='Textarea_Example.php' method='post'>"); 

// The first IF only executes after the script has run once and created a POST value. On the second run, the first IF executes and successfully populates the textarea box with the latest POSTed value 
IF (ISSET($_POST['revised_thread_descr'])): ?> 
<p>Edit current thread description:<p> 
<textarea name= 'revised_thread_descr' rows='5' cols='50'> 
<?php echo $_POST['revised_thread_descr'] ?> 
</textarea> 

<?php ELSE: 
$revised_thread_descr = 'some default'; ?> 
<p>Edit current thread description:<p> 
<p><textarea name= 'revised_thread_descr' rows='5' cols='50'> 
The textarea box opens with this in it, but only on the first run. Then it successfully switches to the value typed to the textarea box and saved to POST 
</textarea> 
<?php ENDIF; ?> 
</p> 
<?php 
// here's the submit button 
echo "Click 'Submit': <input type='Submit' name='submit' value='Submit'/>"; 
?> 
</body> </html> 
関連する問題