2013-11-26 2 views
-1

Существует страница: login.phpКак я могу передавать данные между php-страницами?

Я пытаюсь получить имя пользователя и пароль через форму.

login.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
     <title>Giris Yap</title> 
    </head> 

    <body> 
     <form id="form1" name="form" method="post" action="welcome.php"> 
      <table width="275" border="1"> 
       <tr> 
        <td width="103">user; name: </td> 
        <td width="156"><label> 
          <input type="text" name= "name" /> 
         </label></td> 
       </tr> 
       <tr> 
        <td>password:</td> 
        <td><label> 
          <input type="password" name="textfield2" /> 
         </label></td> 
       </tr> 
      </table> 
      <p><label> 
        <input type="submit" name="Submit" value="submit" /> 
       </label> 
       <label> 
        <input type="reset" name="Submit2" value="reset" /> 
       </label> 
      </p> 
     </form> 
     <p>&nbsp;</p> 
     <p>&nbsp;</p> 

    </body> 
</html> 

После того, что я хочу, чтобы привести мою страницу в welcome.php и говорит приветственное ... имя ... Но это не работает. Может кто-нибудь мне помочь.

welcome.php:

<?php 
$name = $_REQUEST['name']; 
echo "Welcome"$name; 
?> 
+0

Исправьте ошибки синтаксиса: 'эхо "Добро пожаловать". $ Имя; '. –

ответ

0

Попробуйте, как это.

В этом контексте всегда используйте конструкцию isset(). Поскольку мы знаем, что ваш метод <form> имеет POST действий, вы можете использовать $_POST вместо $_REQUEST

<?php 
if(isset($_POST['name'])) 
{ 
    $name = $_POST['name']; 
    echo "Welcome $name"; 
} 
?> 

Кроме того, вам не хватает кнопки передачи кода на <form>, сделай так

<form id="form1" name="form" method="post" action="welcome.php"> 
    <table width="275" border="1"> 
     <tr> 
      <td width="103">User; Name: </td> 
      <td width="156"><label> 
        <input type="text" name= "name" /> 
        <input type="submit" name="submit" /> 
       </label></td> 
     </tr> 
</form> 
+0

Мне нужно добавить любой php cpde на страницу формы входа в систему. потому что в login.php нет php-кодов. – Behzat

+0

@ user3037527, вам нужно добавить кнопку отправки, см. Отредактированный код. В этом контексте в вашем login.php нет кода PHP. –

+0

У меня есть код login.php, как указано выше. но на этой странице ничего нет. Нужно ли добавить некоторые php-коды на страницу login.php? – Behzat

0

Все зависит от метода, который вы указали в своей форме. Если ваша форма method="post", то вам нужно получить как $_POST['name']

и если форма method="GET", то вам нужно получить как $_GET['name']

$name = $_POST['name']; // you have used method='post' 
echo "Welcome" .$name; 

Кроме того, $_REQUEST - ассоциативный массив, который по умолчанию содержит содержимое $ _GET, $ _POST и $ _COOKIE.

Не забывайте, что $ _REQUEST - это переменная, отличная от $ _GET и $ _POST, она обрабатывается как таковая в PHP - изменение элементов $ _GET или $ _POST во время выполнения не повлияет на эльфы в $ _REQUEST, ни наоборот.

например:

<?php 

$_GET['foo'] = 'a'; 
$_POST['bar'] = 'b'; 
var_dump($_GET); // Element 'foo' is string(1) "a" 
var_dump($_POST); // Element 'bar' is string(1) "b" 
var_dump($_REQUEST); // Does not contain elements 'foo' or 'bar' 

?> 

Ref: http://php.net/manual/en/reserved.variables.request.php

0

вы можете попробовать.

<?php 
    if(isset($_POST['name'])) 
    { 
     $name = $_POST['name']; 
     echo "Welcome ". $name; 
    } 
?> 
0

Попробуйте

?php 
if(isset($_POST['name'])) 
{ 
    $name = $_POST['name']; 
    echo "Welcome $name"; 
} 
else 
{ 
    echo "Name not set"; 
} 
?> 
0

Попробуйте это:

<?php 
// let us make sure we have a post value. we will use isset to make sure it's set. 
if (isset($_POST['name'])) { 
// you should scrub the $name value before displaying. Never display or work with 
// raw post values. 
$name = $_POST['name']; 
echo "Welcome "; 

// what if they didn't really put in a name? 
// maybe only show it if it's longer than 2? 
if (strlen($str) > '2') 
echo $name; 
} 
} 
else { 
// we don't have a post value? You should redirect with error message or something. 
} 

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