2013-07-22 3 views
0

Итак, у меня есть эта базовая программа, которая позволяет вам собирать пользовательский ввод и выводить его обратно пользователю или, другими словами, отображать обратно в браузере, а также удалять объект с помощью метода onClick. так что это в основном очень простой список Todo.PHP сбор пользовательского ввода и отображение его

Моя проблема заключается в том, как собирать информацию и отображать каждую предыдущую информацию в строках на странице, а не обойти все, когда браузер обновляется. Я знаю, что что-то вроде этого идеально подходит для базы данных, но я стараюсь, чтобы это было просто, и мои знания баз данных пока неадекватны. Я чувствую, что PHP или даже Javascript может решить эту проблему, но просто не нажимаю на меня. Может быть, цикл for или while может сделать работу не уверен, я мог бы использовать некоторую помощь. Благодарю.

<?php 
if (isset($_POST["user"])) { 
    $user_info = $_POST["user"]; 
} 
?> 
<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Manage Todos</title> 
</head> 
<body> 

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

     <input type="text" name="user"></input> 
     <input type="submit" value="Post"> 


    </form> 

    <h1><a href="#" onclick="remove(this)"><?php echo $user_info;?> <?php echo $collect; ?></a></h1> 


</body> 
</html> 

ответ

1

Вы должны использовать сеанс для хранения предыдущей переменной, чтобы отображать ее снова, когда страница обновляется.

Изменить код ниже: если (Исеть ($ _ POST [ "пользователь"])) { $ _SESSION [ "user_info"] = $ _POST [ "пользователь"]; }

изменить Также ваш <h1> ниже:

<h1><a href="#" onclick="remove(this)"><?php if (isset($_SESSION["user_info"])) echo $_SESSION["user_info"]; ?></a></h1> 

Или вы могли бы изменить <h1> к:

<?php 
    if (isset($_SESSION["user_info"])) { 
?> 
    <h1><a href="#" onclick="remove(this)"><?php echo $_SESSION["user_info"]; ?></a></h1> 
<?php 
    } 
?> 

Будем надеяться эту помощь.


UPDATE

К сожалению, забыл сказать, что вы должны начать сеанс первого. Вот правильный код:

<?php 
session_start(); 
if (isset($_POST["user"])) { 
    $_SESSION["user_info"] = $_POST["user"]; 
} 
?> 

UPDATE 2

Предположим, что ваш URL сайта является 015_session_variable.php.

Измените код следующим образом:

<?php 
    session_start(); 
    if (isset($_POST["user"])) { 
     $_SESSION["old_user_info"] = isset($_SESSION["new_user_info"]) ? $_SESSION["new_user_info"] : ""; 
     $_SESSION["new_user_info"] = $_POST["user"]; 
    } 
    if (isset($_GET["remove"])) { 
     if ($_GET["remove"] == "new") 
      $_SESSION["new_user_info"] = ""; 
     else 
      $_SESSION["old_user_info"] = ""; 
    } 
?> 
<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Manage Todos</title> 
</head> 
<body> 

    <form action="015_session_variable.php" method="post"> 
     <input type="text" name="user" required></input> 
     <input type="submit" value="Post"> 
    </form> 

<?php 
    if (isset($_SESSION["new_user_info"]) && $_SESSION["new_user_info"] != "") { 
?> 
    <h1><a href="#" onclick="removeMe('new');" title="Remove Me">Latest User : <?php echo $_SESSION["new_user_info"]; ?></a></h1> 
<?php 
    } 
?> 

<?php 
    if (isset($_SESSION["old_user_info"]) && $_SESSION["old_user_info"] != "") { 
?> 
    <h1><a href="#" onclick="removeMe('old');" title="Remove Me">Previous User : <?php echo $_SESSION["old_user_info"]; ?></a></h1> 
<?php 
    } 
?> 
    <script> 
     function removeMe(a) { 
      window.open('015_session_variable.php?remove=' + a, '_self'); 
     } 
    </script> 
</body> 
</html> 

Теперь у Вас есть информация о:

  1. Как создать сеанс
  2. Как хранить переменные в сессии
  3. Как изменить переменные из заседаний,

В основном все, что вам нужно, уже есть в этом коде. Просто используйте их как можно более вообразимые. Удачи.

+0

Обновление: оно делает то же самое, что и мой исходный код. –

+0

Привет, Шире, все по-другому. Предполагая, что ваша страница http://testsite.com. Теперь отправьте свою форму с помощью user_info, скажем, «Привет.». А затем откройте свой сайт по типу браузера своего URL-адреса на вашем сайте (не обновляйтесь). На странице вы увидите «Привет, там». Это один из многих преимуществ нашей любимой $ _SESSION. –

+0

Также не забудьте добавить session_start(). См. Мой обновленный ответ. –

-1

HTML5 может сделать это за вас. Проверьте это,

http://www.w3schools.com/html/html5_webstorage.asp

HTML5 обеспечивает сохранение в автономном режиме в браузере.Вы также можете использовать файлы cookie, но в вашем случае лучше использовать веб-хранилище.

Смежные вопросы