Ben PHP formu güncellenir değişken her şey yerine gelen nasıl durdurabilirim?

2 Cevap php

Temel soru - Ben değişkene bağlı bir Gönder düğmesi içeren bir metin alanı $ListItem.

Sayfanın altındaki ben bunu yeni bir değişken ({[(2)] atamak istediğiniz, bir <li> in $ListItem baskı ve her yeni metin alanına girilen bir şey istiyorum } belki?) ve daha sonra bir önceki altında yazdırabilirsiniz.

Benim geçerli kod ile yeni bir dize metin alanına girilen her zaman, varolan bir değişkeni değiştirir:

<?php
$ListItem = $_POST["ListItem"];
?>

<form method="post" action="<?php echo $PHP_SELF;?>">
<textarea name="ListItem" cols=80 rows=6></textarea> <br />
<input type="submit" value="Submit"> <br />
</form>

<li><?php echo $ListItem; ?></li>

Ben bir veritabanı kullanmak zorunda mıyım?

2 Cevap

Siz oturumda saklanan bir dizi üzerine pop olabilir:

$_SESSION["vars"][] = $_POST["ListItem"];

Bu gelecek DBSKP'e ibraz aracılığıyla tam geçmişini tutmak olacaktır. Onları baskı oturumu dizi aracılığıyla bisiklet gibi basit olacaktır:

foreach ($_SESSION["vars"] as $var) {
  echo "<p>{$var}</p>";
}

Başka bir şey gerçekleşmeden önce oturumu başlatmak için hatırlıyorum:

session_start();

Detailed Explanation (requested in comments)

Cevabım ilk öğe, bir dizinin üzerine başka bir öğe ekleme bir örnek oldu. Biz boş bir dizi ile başlarsanız:

$myArr = array();

Biz aşağıdaki sözdizimi ile yeni girişler ekleyebilirsiniz:

$myArr[] = "Foo";
$myArr[] = "Bar";

Bizim dizi şimdi bunun içinde iki öğe vardır. Bu, bu yaparken aynı olacaktır:

$myArr = array("Foo", "Bar");

Çift dirsek yöntemini kullanarak başlamak için şu anda orada ne tutarken, diziye daha fazla öğe yerleştirmek için hızlı bir yoldur. Bunu yapmanın başka yolları örneğin size array_push() işlevini kullanabilirsiniz vardır:

array_push($myArr, "Foo");

Bu olsa bizim önceki örnekte olduğu gibi aynı şeyi yapar, bu yüzden bir fark çok sunmuyor. Şimdi geri adım, bizim dizi OTURUM dizi içinde depolanan unutmayın. Bu web sitenize ziyaret bir kullanıcı sırasında sık sık kullanılacak veri depolamak için yararlı bir dizidir. Genellikle bir veritabanında önemsiz veri depolama, ve her istek üzerine arama yapmak için daha iyi bir alternatif kez bulunuyor.

Yine, bir dizi var:

$_SESSION["vars"] = array();

Temelde biz yapıyoruz tüm anahtar "vars" tarafından işlenen bir dizi içindeki bir dizi ayardır. Anahtar yüzden hızla daha sonraki bir zamanda bu verileri başvuruda bulunabilir önemlidir. Ve geri kodu bizim ilk satırına, şimdi ne yaptıklarını daha mantıklı olabilir:

$_SESSION["vars"][] = $_POST["ListItem"];

Yani bu yaptığını bütün sonradan alınabilir $_SESSION["vars"] burada içinde depolanan dizinin üzerine $_POST["ListItem"] yeni katma değer olduğunu.

Global Session Array

Ben bir global oturum dizi metin alanı verileri eklemek istiyorum.

Sonunda bir veritabanı kullanmak isteyeceksiniz.