Ben oturumları için oldukça yeni.
Bir seri ilanlar web sitesi var ve kullanıcılar "EDIT" kendi ilanları tercih edebilirler.
Onlar girmek zorunda tüm gizli oluştururken seçtikleri bir paroladır.
Şifre doğru ise "edit.php" sayfasında, gizli ayrıntıları göstermek. Kullanıcıya resim yükleme sayfayı yeniden yükler ama aynı zamanda bir resim yükler aracı, ve önizleme vardır.
Sorun pic yüklendiği zaman, ben sayfa tekrar parola sormak istemiyorum olmasıdır. Çok güzel değil (bu sayfayı yeniden çünkü) şifre her pic upload için gerekli eğer.
Yani böyle bir oturum değişkeni belirledik:
if($pass==$row['pass']){ $_SESSION['correct_pass']=1; }
sonra yeniden yüklemede edit.php olarak, ben bu duruma karşı kontrol edin:
if($pass==$row['pass'] || $_SESSION['correct_pass']==1){
EDIT AD HERE
}
Sorun (BÜYÜK BİR SORUN) kullanıcı doğru şifreyi girdiğinde, OTURUM ['correct_pass'] 1 oluşturulur ve ayarlanmış olmasıdır.
Bundan sonra, kullanıcı tarayıcıda "back" seçeneğine tıklayın ve URL başka ilanlar ID nr girin ve PHP Session şifre hala iyi olduğunu düşünüyorum olacaktır.
Eğer bu anlamaya Yani diğer bir deyişle, bir sınıflandırılan diğer halklar değişebilir.
Bu nasıl çözmek gerekir?
Eğer daha fazla girdi ihtiyacınız varsa bana bildirin ...
Aşağıda daha edit.php dosyası (test değil) açıklayan kod birkaç satır:
//FIRST VISIT TO "EDIT.PHP?ad_id=ID_OF_CLASSIFIED_HERE"
if($todo==0){
//User is shown 2 radios, and a password form, and choses either to remove classified, or change classified
}
//REMOVE CLASSIFIED
if($todo==1){
//User has chosen to remove a classified
if($pass==$row['pass']){
//DELETE CLASSIFIED
}
if($pass!=$row['pass']){
//SHOW WRONG PASSWORD WARNING
}
}
if($todo==2){
//User has chosen to change a classified
if($pass==$row['pass'] || $_SESSION['correct_pass']==1){
if(!isset($_SESSION['correct_pass'])){
$_SESSION['correct_pass']=1;
}
//EDIT AD HERE
}
else {
//SHOW WRONG PASSWORD WARNING
}
}
Teşekkürler