Re: База даних та php
Скоріше за все у вас якась помилка, але її не показує
Спробуйте напочатку файлу написати:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Бази даних → База даних та php
Для відправлення відповіді ви повинні увійти або зареєструватися
Скоріше за все у вас якась помилка, але її не показує
Спробуйте напочатку файлу написати:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
Notice: Undefined index: name in R:\home\localhost\www\site2\index.php on line 26
[Денвер: показать возможную причину ошибки]
Notice: Undefined index: sname in R:\home\localhost\www\site2\index.php on line 27
Notice: Undefined index: tel in R:\home\localhost\www\site2\index.php on line 28
Notice: Undefined index: emeil in R:\home\localhost\www\site2\index.php on line 29
дані успішно вставлені
В самій формі потрібно вказувати назви без символа $.
<title>Ëàáîðàòîðíà Àíêåòà</title>
<html>
<body>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<h1>Àíêåòà</h1>
<form method="POST">
Âàøå ³ìÿ: <input type="text" name="name"><br>
Ïð³çâèùå <input type="text" name="sname"><br>
e-mail: <input type="text" name="emeil"><br>
òåëåôîí <input type="text" name="tel"><br><br>
<br>
<textarea name="mes" rows=5 cols=60 ></textarea><br><br>
<input type="hidden" name="act" value="act">
<input type="submit" name="submit" value="Íàä³ñëàòè">
<input type="reset" name="reset" value="Î÷èñòèòè">
</form>
<?
if (isset($_POST['act'])) {
$name = $_POST['name'];
$sname = $_POST['sname'];
$tel = $_POST['tel'];
$emeil = $_POST['emeil'];
$mysqli = new mysqli("localhost", "root", "", "inf");
if ($mysqli->connect_errno) {
printf("Ïîìèëêà: %s\n", $mysqli->connect_error);
exit();
}
$sql = "INSERT INTO infa(name, sname, emeil, tel)VALUES('$name', '$sname','$emeil','$tel')";
$mysqli->query($sql);
echo "name=$name<br>";
echo "sname=$sname<br>";
echo "emeil=$emeil<br>";
echo "tel=$tel<br>";
$mysqli->close();
echo "äàí³ óñï³øíî âñòàâëåí³";
return;
}
?>
</body>
</html>
все в мене виводить на екран після заповнення форми і натиснення на кнопку надіслати. а як тепер пееревірити чи записало воно у таблицю?
Спробуйте одразу після $mysql->query написати:
echo $mysqli->error;
Якщо помилок немає, то дивіться в таблиці.
Записує, дякую вам дуже. як напишу свій сайт виставлю кнопку на ваш форум, ще раз дякую, у мене ще є запитання але треба йти спати завтра напишу)))
а чи можна дані з цієї форми відправити на емейл мій? або якщо хтось зайде і відправить дані на то чи можна хотяби сповіщення зробити?
після коду $mysqli->close(); вставте
mail('youremail@gmail.com', 'Нові дані', $name);
не приходить мені письмо, може ще треба якихось додаткових налаштувань?
у мене на комп'ютері стоїть денвер і є ще безплатний хостин, я зараз пробую на хостингуу
скиньте сюди код
<title>Ëàáîðàòîðíà Àíêåòà</title>
<html>
<body>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<h1>Àíêåòà</h1>
<form method="POST">
Âàøå ³ìÿ: <input type="text" name="name"><br>
Ïð³çâèùå <input type="text" name="sname"><br>
e-mail: <input type="text" name="emeil"><br>
òåëåôîí <input type="text" name="tel"><br><br>
<br>
<textarea name="mes" rows=5 cols=60 ></textarea><br><br>
<input type="hidden" name="act" value="act">
<input type="submit" name="submit" value="Íàä³ñëàòè">
<input type="reset" name="reset" value="Î÷èñòèòè">
</form>
<?
if (isset($_POST['act'])) {
$name = $_POST['name'];
$sname = $_POST['sname'];
$tel = $_POST['tel'];
$emeil = $_POST['emeil'];
$mysqli = new mysqli("sql200.fbihosting.org.ua", "fbi_12523521", "2442569z", "fbi_12523521_infa");
if ($mysqli->connect_errno) {
printf("Ïîìèëêà: %s\n", $mysqli->connect_error);
exit();
}
$sql = "INSERT INTO infa(name, sname, emeil, tel)VALUES('$name', '$sname','$emeil','$tel')";
$mysqli->query($sql);
//echo "name=$name<br>";
//echo "sname=$sname<br>";
//echo "emeil=$emeil<br>";
//echo "tel=$tel<br>";
echo $mysqli->error;
$mysqli->close();
mail('rusikz94@gmail.com', 'Íîâ³ äàí³', $name);
echo "Âè çàïèñàëèñü ÕÀ-ÕÀ";
return;
}
?>
</body>
</html>
Для відправлення відповіді ви повинні увійти або зареєструватися