php oturumları ile sorun

3 Cevap php

i php oturumları işe almak için görülen cant verileri kaydeder bir form oluşturmak için çalışıyoruz im sonra kendi okunaklı bilgileri doğrulamak için düzenli ifadeler karşı koydu. oturumları kaydetmek için nasıl anlamaya ama çözemiyorum çalışıyorum an im, yardım lütfen. oturumlarına yeni im

<?php session_start(); ?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>regex</title>


</head>

<body>

<?php

$_SESSION['fname']=$fname;

$ufname = $_SESSION['fname'];

print<<<form
 <form method="post" action="">
form;

print<<<firstname
First Name:
 <input type="text"
           name="fname"
     value="$fname">

firstname;

print<<<submit

 <input type="submit">

submit;
print "</form>";


if($fname == NULL){
print "lets go";
}else{
print "good";
}// end if 

print "$ufname";

$_SESSION['ufname'] = $ufname;
?>

</body>
</html>

3 Cevap

Eğer oturumu ele konum yolu ile herhangi bir sorun bulunmamaktadır. Ancak, daha önce bildirilen veya atmadı hangi $ Fname için $ _SESSION ['Fname'] kuruyorlar. Böylece, $ _SESSION ['Fname'] endeksi saklanan değeri null olacak. Eğer oturum değişkeni herhangi bir çıktı elde değil bu yüzden.

Senin sorunun doğrudan $ fname erişiyor olmasıdır. $ _POST ['Fname'] kullanmaya çalışın. Değişkeni kullanarak sizin yolu güvenlik riskleri vardır ve bu yeni sürümlerinde varsayılan olarak devre dışıdır nedeni

Sen erişebilirsiniz önce $_SESSION session_start() aramak gerekir. Bunu okumadan önce Ayrıca, $_SESSION['fname'] için yazıyoruz.

EDIT: kod güncellenmiş sürümü size gerçekten (bu noktada tanımsız olan) $ fname ile $_SESSION['fname'] değerini üzerine yazıyorsanız o session_start() çağırıyor, ama aynı zamanda konum gösteriyor ondan $ ufname okumadan önce. Muhtemelen sorunu çözmek gerektiğini, bu satırların sırasını değiştirmek için çalışın.