PHP Таблица с использованием HTML - PullRequest
1 голос
/ 22 февраля 2020

Моя цель - использовать txt-файл, содержащий данные, необходимые для определенного c ответа от заполнения формы. Форма должна иметь имя пользователя и пароль. Также в форме должны быть параметры ценового диапазона. Имя пользователя может быть написано в любом случае, однако пароль чувствителен к регистру. Я создал форму html, которую буду использовать. Данные в текстовом файле содержат адреса для списков и цену списков. Параметры ценового диапазона могут быть установлены на любые значения, цель состоит в том, чтобы просто вернуть данные из текстового файла в виде сгенерированного ответа для заполнения формы. Форма, которую я создал,

<!DOCTYPE html>

<html>
<head>
<title></title>
</head>
<body>
<form action="houseprices.txt"
      method="post">
Show houses whose price is between:
<input name="lowprice" type="text" size="15" maxlength="15" /> & 
<input name="highprice" type="text" size="15" maxlength="15" /><br />
Username:   <input name="user" type="text" size="15" maxlength="15" /><br />
Password:   <input name="pw" type="password" size="15" maxlength="15" /><br />
<input type="submit" value="Show Houses" />
</form>
</body>
</html>

Единственное действительное имя пользователя:

Имя пользователя: joe [любой случай (jOE)]

Пароль: тигр [случай чувствительный]

Когда я создаю файл ответов, должен ли я использовать синтаксис php или html и вставить кодировку php в документ html. Я использую возвышенное, поэтому я спрашиваю, какой синтаксис использовать. Информация должна быть помещена в таблицу из двух столбцов, когда форма возвращает страницу. Мне еще только предстоит написать код страниц ответов. Я надеялся получить некоторую помощь по структурированию нужного кода. Текстовый файл, который должен быть возвращен, таков:

$houseprices["123 Elm"]=260000;
$houseprices["96 Otis"]=340000;
$houseprices["9 Windham Place"]=560000;
$houseprices["293 Wilma"]=230000;
$houseprices["6789 Beach"]=800000;
$houseprices["535 Overlook"]=750000;
$houseprices["59 South Lake"]=900000;
$houseprices["19 Ash"]=270000;
$houseprices["6820 Butternut"]=340000;
$houseprices["902 Weston"]=190000;
$houseprices["496 Ervin"]=340000;
$houseprices["316 Pond"]=280000;
$houseprices["7282 Main"]=420000;
$houseprices["561 Billings"]=350000;
$houseprices["117 Peach"]=280000;
$houseprices["2171 Bentley"]=300000;
$houseprices["365 Prescott"]=1120000;
$houseprices["319 Paley"]=310000;
$houseprices["43 Maple"]=150000;
$houseprices["291 Wilson"]=320000;
$houseprices["81 Essex"]=330000;
$houseprices["995 West Lawrence"]=480000;
$houseprices["679 Esther"]=240000;
$houseprices["6890 Patten"]=600000;
$houseprices["53 Lower Pond"]=250000;
$houseprices["4567 Washington"]=170000;
$houseprices["691 Holt"]=1900000;
$houseprices["1234 Main"]=180000;
$houseprices["6 Cherry"]=360000;
$houseprices["639 Perrywinkle"]=190000;
$houseprices["86 Foster"]=1300000;
$houseprices["341 Elm   "]=200000;
$houseprices["5122 Bern"]=350000;
$houseprices["688 Maple"]=210000;
$houseprices["64 Oak"]=640000;
$houseprices["874 Marlin"]=220000;
$houseprices["53 Lake"]=190000;
$houseprices["206 Alban"]=310000;
$houseprices["371 Martha"]=420000;
$houseprices["866 Delaware"]=230000;
$houseprices["342 West Lawrence"]=440000;
$houseprices["63 Ashley"]=450000;
$houseprices["49 Tabler"]=260000;
$houseprices["417 Deermill"]=370000;
$houseprices["38 Holt"]=490000;
$houseprices["689 Aspen"]=300000;
$houseprices["4441 Park"]=210000;
$houseprices["8394 North Lake"]=320000;
$houseprices["722 Perry"]=530000;
$houseprices["99 East Ridge"]=260000;
$houseprices["4374 Elderberry"]=270000;
$houseprices["89 Lubbock"]=370000;
$houseprices["12543 Benson"]=380000;
$houseprices["240 London"]=290000;
$houseprices["745 Park"]=390000;
$houseprices["18 Wilson"]=400000;
$houseprices["11 Westgate"]=540000;
$houseprices["4736 East River"]=250000;
$houseprices["4793 Chauncey Circle"]=370000;
$houseprices["3073 West Main"]=280000;

Примечания: • Правильный имя пользователя - Джо, а правильный пароль - тигр. Имя пользователя может быть напечатано в любом случае и может иметь начальные или конечные пробелы после него. Тем не менее, пароль должен быть напечатан все строчные буквы без начальных и конечных пробелов после него.

• Если пользователь не введет правильное имя пользователя и пароль, он или она получит веб-страницу с заголовком h3, содержащую сообщение «Неверное имя пользователя или пароль».

• Если пользователь введет правильное имя пользователя и пароль, он или она получит веб-страницу с таблицей, в которой перечислены все дома, которые находятся между указанными ценами. (Между означает больше или равно меньшему числу и меньше или равно большему числу.) В конце этой веб-страницы будет копия формы, чтобы пользователь мог ввести другой запрос.

• Вывод PHP должен быть отформатирован, как показано в примере. Слова «Вот все дома, цены на которые находятся в диапазоне от 100 000 до 500 000 долларов», должны быть в заголовке h3 внутри таблицы (а знаки доллара должны быть напечатаны перед цифрами, как показано на рисунке). Границы таблицы должны быть 2px solid красными границами, как показано на рисунке. Заголовок «Попробуйте еще раз» должен быть заголовком h3.

<?php
echo "<!DOCTYPE html>";
echo "<html>";
echo "<head>";
echo "<title>Houses</title>";
echo "</head>";
echo "<body>";
echo '<h3> Here are all the houses whose prices are between $100000 and $500000: </h3>';


echo "</body>";
echo "</html>";
?>

1 Ответ

0 голосов
/ 22 февраля 2020

Я бы начал с публикации вашей формы на той же странице, что и форма (чтобы вы могли повторно использовать форму).

Тогда вам нужно будет ввести некоторые PHP logi c, чтобы показать данные, если они есть, или ошибку при неверном входе.

Чтобы показать дома, вы можете включить текстовый файл, а затем пробежаться по вашему массиву и искать все, что вам нужно. Вы можете использовать foreach l oop.

<!DOCTYPE html>
<html>
<head>
  <title>Your Form Page</title>
</head>
<body>
<!-- Your HTML STUFF BEFORE WHERE YOU WANT THE TABLE TO BE -->


<?php  // This tag opens up PHP
//Check to see if username & password are correct
if(strcmp($_POST['username]'], 'joe') === 0 && strcasecmp($_POST['password'], 'tiger') === 0) {

  // Include the array from your text file -- as you've structured it as PHP
  require('textfile.txt');

  // Start the table
  echo '<table><tr><th>Address</th><th>Price</th></tr>';

  foreach($houseprices as $address => $price) {
    if($price >= $_POST['lowprice'] && $price <= $_POST['highprice']){
      echo '<tr><td>' . $address . '</td><td>$' . $price . '</td></tr>';
    }
  }

  // Close out the table
  echo '</table>';

} else {
  // Display warning about password/username
  echo '<h2>Incorrect Username or Password</h2>';
}

// The tag below will close php
?>

<!-- The rest of your HTML goes down here -->
<form> ...
...