Farklı php dosyasına dizin sayısının değerini geçen

2 Cevap

i bir php acemi ve lütfen sizin için bir sorum var.

ben böyle ilk ve son adları listesini içeren bir metin dosyası vardır:

john,smith
sam,lewis
david,davidson
mike,anderson

Benim sort.php dosyasında, bu gibi görüntüler indeks numarası ile artan ilk adıyla bu isim listesi sıralar:

1. david,davidson
2. john,smith
3. mike,anderson
4. sam,lewis

Ayrıca, bu sort.php dosyada, bu metin alanına girilen dizin numarasını silmek için dizin numarasını ve bir düğmeye yazabilirsiniz input type = metin için bir form var:

<form action="deletename.php" method="post">
  <table>
    <tr valign="top"> 
      <td>Delete: <input type="text" size="2" name="indexnumber" />
      </td>
      <td> 
        <div align="left"> 
          <input type="submit" name="delete" value="Delete" />
        </div>
      </td>
    </tr>
  </table>
</form>

Şimdi ... i metin alanına girilen index sayısının değerini göndermek için bu formu yapabileceğimiz bir şey soru var? Diğer kelime ... ben 3 girerseniz, ben deletename.php değerini göndermek için bu forma "mike, anderson," ne yapabilirim?

şimdiden teşekkürler.

2 Cevap

Sen (zaten yerde dizin numarası için alan var) bunun için formu değiştirmek gerekmez, ama deletefile.php, sen formu gönderiyor ne okumak zorunda, ve metinden bu indeks numarasını silin dosya.

Eğer sort.php isimleri sipariş ediyoruz, çünkü ek olarak, size dizin numarası hangi girişi ile karşılık hangi biliyorum ki deletefile.php de aynı sıralamayı tekrarlamanız gerekir. Sonra sadece ilgili girişi silin.

Yani deletefile.php olarak, bunu gibi bir şey, formu teslim olabilir işlemek için

if(!empty($_POST['indexnumber'] && is_numeric($_POST['indexnumber'])) {
     //now do the sorting, e.g. include sort.php which I assume returns a sorted array
     //then delete $_POST['indexnumber'] from the array and update the textfile
}

Bu bir şey yapamaz eğer ben o ne yaptığını görmek böylece, mevcut sort.php kodunuzu gönderin.

Eğer değişkenler ya GET veya POST kullanarak komut gönderilir nasıl belirleyebilirsiniz formları kullanırken, bu <form> etiketi definied edilir. Sen (mantıklı) POST yöntemi kullanmak choosen. POST yöntemi GET yöntemi değişkenleri geçmek için sitenizin URL'sini kullanır gibi, örneğin /deleteme.php?indexnumber=2 kullanıcıdan bilgileri gizler

Değerler daha sonra deletename.php okunabilir hale $_POST dizi erişerek (sizin için form göndererek, çünkü thats). Olacak Eğer formda 2 girdiyseniz bunu gibi değerini okuyabilirsiniz.

echo $_POST['indexnumber'];
/* OUTPUT */
2

Bu kimliği kullanarak, bu kimliği ile eşleşen dizin numarası bulmak için size kalmış olacak. Eğer bir veritabanı kullanılarak olsaydı, bu çok verimli ve bakımı daha kolay olurdu. Ben başka gitmeden önce PHP bazı öğreticiler okumak gerekir sanıyorum.