PHP if ifadesinin değişken çalışmak için görünmüyor $ _POST kullanarak.

4 Cevap php

Bir PHP sunucu üzerinde iki dosya var. Bir dosya (ismi "first.php") bu kodu içerir:

<html>
<head>
<title>First Page</title>
</head>
<body>
Please enter your password and age:
<form action="pass.php" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

Diğer dosya ("pass.php") bu kodu içerir:

<html>
<head>
<title>Secon Page</title>
</head>
<body>
<?php
if ($fname=="Jack")
  echo "You are Jack!";
else
  echo "You are not Jack!";
?>
</body>
</html>

Olarak anladığım kadarıyla, bir kullanıcı ikinci sayfasında daha ilk sayfasında "Jack" girerse ile görüntülenmesi gerekir "Jack vardır!" çizgi, ama bu olmaz. Neden bu böyledir?

4 Cevap

Ikinci sayfada $ yerine Fname için kontrol yerine $ _POST ['Fname'] kontrol edin. Ben eksik bütün olduğunu düşünüyorum.

Muhtemelen register_globals kümesi yok. Bu amortismana tabi tutulur ve 6.x silinecektir Çok iyi programlama için size $ yerine Fname ikinci sayfada $ _POST ['Fname'] denemelisiniz.

Bu gibi bakmak gerekiyor pass.php

<html>
<head>
<title>Secon Page</title>
</head>
<body>
<?php
if ($_POST['fname'] =="Jack")
  echo "You are Jack!";
else
  echo "You are not Jack!";
?>
</body>
</html>

Bu değişkenler olarak sonrası değerleri ayarlamak ve o çalışmak için yardımcı olabilir. Böyle bir şey:

foreach($_POST as $key => $value)
{
  $$key = $value;
}

Sonra ne gönderilirse yerine senin mantığında $_POST['xxxxx'] kullanarak daha kullanılabilir olacaktır.