Работа через Head First PHP & MySQL как новичок.
Сначала я установил EasyPHP, и мне удалось получить php с помощью массива $ _POST и повторить ввод html-формы, но тогда функция mail () не сработала. Сделал поиск в Google и обнаружил, что мне нужен SMTP-сервер, поэтому я удалил EasyPHP и установил XAMPP. Я поместил мои html и php файлы в папку htdocs. HTML-форма работает, но php генерирует страницу с кодом php, а не с данными, хранящимися в массиве $ _POST. У меня также не было успеха с запросом SQL INSERT.
Я также попробовал код, предоставленный онлайн-ответами на книгу - без радости.
Я убедился, что серверы Apache и MySQL работают. Я также успешно использовал phpMyAdmin. Таким образом, кажется, что эти модули работают нормально - просто я ничего не написал.
Я также удалил XAMPP и установил новейшие серверы Apache и MySQL, следуя инструкциям, изложенным в книге, - опять же, не радость.
Я проверял наличие лишних папок и очищал реестр между каждой деинсталляцией и переустановкой.
Я на Windows 7 Home Premium 32bit.
Вот мой HTML:
<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1>Share your story of alien abduction:</h1>
<form method="post" action ="report.php">
<label for="firstname">First name:</label>
<input type="text" id = "firstname" name="firstname" /><br/>
<label for="lastname">Last name:</label>
<input type="text" id = "lastname" name="lastname"/><br/>
<label for"email">What is your email address?</label>
<input type "text" id = "email" name="email"/><br/>
<label for="when">When did it happen?</label>
<input type "text" id="when" name="when"/><br/>
<label for="howlong">How long were you gone?</label>
<input type="text" id="howlong" name="howlong"/><br/>
<label for="howmany">How many did you see?</label>
<input type = "text" id="howmany" name="howmany"/><br/>
<label for="describe">Describe them:</label>
<input type="text" id="describe" name="describe"/><br/>
<label for="whattheydid">What did they do to you?</label>
<input type="text" id="whattheydid" name="whattheydid"/><br/>
<label for="fangspotted">Have you seen my dog Fang?</label>
Yes <input type="radio" id="fangspotted" name="fangspotted" value="yes" />
No <input type="radio" id="fangspotted" name="fangspotted" value="no" /><br />
<img src="fang.jpg" width="100" height="175"><br/>
<label for="other">Any other info then?</label>
<textarea name="other"></textarea><br />
<input type="submit" value="Send the skinny" name="submit" />
</form>
</body>
</html>
А вот и мой php:
<html>
<head>
<title>Aliens abducted me - Report an abduction</title>
</head>
<body>
<h2>Aliens abducted me - Report an abduction</h2>
<?php
$first_name = $_POST['firstname'];
$last_name = $_POST['lastname'];
$email = $_POST['email'];
$when = $_POST['when'];
$how_long = $_POST['howlong'];
$how_many = $_POST['howmany'];
$describe = $_POST['describe'];
$what_they_did = $_POST['whattheydid'];
$fang_spotted = $_POST['fangspotted'];
$other = $_POST['other'];
$dbc = mysqli_connect('localhost', 'root', '', 'aliendatabase');
$query = "INSERT INTO aliens_abduction (first_name, last_name, when, how_long, " .
"how_many, description, what_they_did, fang_spotted, other, email) " .
"VALUES ('$first_name', '$last_name', '$when', '$how_long', '$how_many', " .
"'$describe', '$what_they_did', '$fang_spotted', '$other', '$email')";
$result = mysqli_query($dbc, $query)
or die ('Its fornicated');
mysql_close($dbc);
echo 'Thanks for submitting the form ' . $first_name . ' ' . $last_name . '.<br />';
echo 'You were abducted ' . $when;
echo ' by ' . $how_many . ' aliens';
echo ' and were gone for ' . $how_long . '<br />';
echo 'You described them like this: ' . $describe . '<br />';
echo 'Was fang there? ' . $fang_spotted . '<br />';
echo 'Your email address is: ' . $email;
?>
</body>
</html>
Обратите внимание, я здесь новичок и не буду обижаться на советы о том, как лучше задать вопрос!
Заранее спасибо.