Bu kod neden çalışmıyor anlayış değil

3 Cevap php

oturumlarına yeni ama ben onlarla <input> uygulamak için karmaşık görmek ne im. Eğer bu kodu bakmak ve onun değil çalışma neden söyle lütfen edebilirsiniz. i sonra beni öldü önce çalışma vardı. Programın işlevi bir form doldurmak ve düzenli ifadeler kullanarak okunaklı bilgi için doğrulanmış olması için, ben sadece verileri kaydetmek oturumları ile ilgili yardım almak gerekir.

<?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

$fname = $_REQUEST['fname'];

$fname = $_SESSION['fname'];


print<<<form

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

  <input type ="text"
             name="fname"
    		 value="">

    <input type ="submit">

</form>

form;

$_SESSION['fname'] = $fname;

 print $_SESSION['fname'];


?>

</body>
</html>

3 Cevap

Timothy, Change your code so that it checks if the session/request is empty or not

Gibi bir şey:

if(isset($_REQUEST['fname'])){
  $fname = $_REQUEST['fname'];
}else if(isset($_SESSION['fname'])){
  $fname = $_SESSION['fname'];
}

$ _SESSION Onu geri koyarak sonra, $ _SESSION gelen değer ile üzerine yazılmasını sonra, $ _REQUEST dan $ fname okuyor. Tasarlandığı gibi Şimdiye kadar çalışması gerekir :) Ne yapmaya çalışıyorsun? $ _REQUEST Yoluyla alınan değeri ile $ _SESSION değişkeni ayarlamak istiyorsanız, ikinci "$ fname =" satırı dışarıda bırakın.

Bu deneyin:

if (!isset($_SESSION['fname'])) {
    $_SESSION['fname'] = '';  // default value
}
if (isset($_POST['fname'])) {
    $_SESSION['fname'] = $_POST['fname'];
}

print<<<form

…

form;

print $_SESSION['fname'];