PHP-sayfası ve HTML-form SELF gönderimleri önlemek için nasıl, bu kadar dağınık bir görünüm sunar?

0 Cevap php

Bir seri ilanlar webbsite var ve kullanıcılar / kaldırmak onların ilanları değiştirmek için seçeneğiniz vardır.

Ben tüm bu yapılabilir bir "edit.php" sayfa üzerinde çalışıyorum.

Temelde tıkladığınız zaman "düzenlemek / ilan kaldır" böyle kurulum:

Yeni bir sayfa kullanıcı radyolar aracılığıyla "KALDIR" ve "DEĞİŞİM" seçti olabilir formu ile görüntülenir. Kullanıcı sınıflandırılmış bağlı bir şifre girmeniz gerekir. Sonra teslim çarptı.

Form kendisine teslim edilir ve şifre doğru ise hangi radyo çek seçilir, ve çekler edilir.

Şifre yanlış ise, o zaman aynı sayfa tekrar görünür, ancak bir mesaj söyleyerek, "yanlış parola".

Şifre doğru ise kullanıcı sınıflandırılmış, ben açmak için tamamen yeni bir sayfa istiyorum "KALDIR" ya da "DEĞİŞİM" istiyorsa, o zaman esas.

Benim soru php aracılığıyla, radyo seçimine dayalı yeni bir sayfa açmak için güvenli mümkün ans olurdu, değil mi?

Aksi takdirde bu kadar dağınık olacağını, HTML ve farklı eylemler ile farklı biçimler gösteren içine o kadar çok if / else ifadeleri koymak zorunda kalacaktı.

Yani PHP bunu yapmak istiyorum:

<?php
  if($password==$row['pass']){
    if($action == "remove"){ Open new page and DO remove }
    else if ($action == "change"){ Open new page and change the classified }
  }
?>

Ben değişkenleri saklamak için oturumu kullanın.

Yeni bir sayfa açmak ve sadece örneğin sınıflandırılmış kaldırmak mümkün ve güvenli midir? Ya da birden fazla form varsa ve php form seçimleri ve parola hataları dayalı onları görüntülemek için daha güvenli olacaktır?

Açıklamak zor, ama ben sadece benim HTML if / else sürü önlemek istiyor. Aksi takdirde gibi bir şey olurdu:

 <body>
   <?php if($pass_wrong==1): ?>
     FORM COMES HERE, AND STATES PASSWORD WAS WRONG
   <?php endif; ?>

   <?php if($action=='remove' && $pass_wrong==0): ?>
     CLASSIFIED SUCCESSFULLY REMOVED
   <?php endif; ?>

   <?php if($action=='change' && $pass_wrong==0): ?>
     Show a huuuuuge form to change the classified
   <?php endif; ?>

   ETC ETC

0 Cevap