1

Тема: База даних та php

Допоможіть будьласка в тому: Я установив на комп'ютері денвер. Написав форму "анкета" там декілька полів ім'я прізвище емейл та телефон. і хочю щоб коли я заповнюю цю форму нажимаю відпрватити дані то мені вони записувались в базу даних анкета і там створена таблиця з цими полями я вже все перерив мені лабораторну по цьому робити і я не знаю як буду дуже вдячний. дякую.

2

Re: База даних та php

1. А у вас вишло просто вивести дані, які ви передаєте в форму? Якщо так переходите до пункту 2.
Якщо використовується метод POST, то дані зберігаються в масиві $_POST, якщо метод GET або ви не вказали ніякий, то в масиві $_GET.
Наприклад, у вас є в формі input з name=address, тоді доступитись до цих даних можна наступним чином:

$address = $_POST['address'];

Якщо дані передаються через GET, то:

 $address = $_GET['address']; 

2. Підключення до бази даних. Якщо вмієте робити, переходите до пункту 3.
Спочатку потрібно підключитись до бази. Це можна зробити наступним чином:

// створюємо підключення
$mysqli = new mysqli("localhost", "користувач", "пароль", "база даних");

/* перевіряємо чи вдалось підключитись */
if ($mysqli->connect_errno) {
    printf("Помилка: %s\n", $mysqli->connect_error);
    exit();
}

// працюємо з базой даних
//...

// закриваємо підключення
$mysqli->close();

3. Вставка даних
Дані вставляємо наступним чином:

$mysqli->query("INSERT INTO `table` (`id`, `address`) VALUES ('0', '$address') ");
Подякували: rusikz1

3

Re: База даних та php

у мене форма написана у вигляді коду php і мені з локального сервера потрібно це робити. зараз іду попробую розібратися

4

Re: База даних та php

А що значить форма у вигляді коду php? Взагалі було б краще якби ви привели код, який вже написано. Так простіше пояснити.

5

Re: База даних та php

зараз я тільки розберусь я просто не сильний в цьому напрямку

6

Re: База даних та php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Ëàáîðàòîðíà Àíêåòà</title>
</head>

<body>
 <h1>Àíêåòà</h1>
 <form action="" method="POST">
 Âàøå ³ì'ÿ: <input type="text" name="name"><br>
Ïð³çâèùå <input type="text" name="sname"><br>
 e-mail: <input type="text" name="email"><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></center>
 
</body>
</html>

7

Re: База даних та php

((( воно не розуміє українську мову((

8

Re: База даних та php

мені дані з цієї форми потрібно надіслати у базу щоб вони там при кожному заповненні форми і натисненні на кнопку "надіслати" записувались у базу даних, як це зробити я не знаю

9

Re: База даних та php

<?php

if (isset($_POST['act'])) {

$name = $_POST['name'];

// далі підключення до бд і вставка даних в таблицю

echo "дані успішно вставлені";
return;
}

?>

<!-- код форми -->
Подякували: rusikz1

10

Re: База даних та php

ім'я бази даних inf а ім'я таблиці infr

11

Re: База даних та php

а як іменно організувати вставку даних? як працювати з тими змінними?

12

Re: База даних та php

Спробуйте їх спочатку просто вивести:

echo $name;

Вставляти наступним чином (приклад для таблиці з 2 стовпчиків):

$sql = "
INSERT INTO infr
(name, sname)
VALUES
('$name', '$sname')
";
$mysqli->query($sql);

13

Re: База даних та php

    <title>Ëàáîðàòîðíà Àíêåòà</title>

<html>

<body>

 <h1>Àíêåòà</h1>
 <?




 
if (isset($_POST['act'])) {
 
$name = $_POST['name'];
$mysqli = new mysqli("localhost", "root", "", "inf");
 

if ($mysqli->connect_errno) {
    printf("Ïîìèëêà: %s\n", $mysqli->connect_error);
    exit();
}
$sql = "INSERT INTO infa(name, sname)VALUES('$name', '$sname')";
$mysqli->query($sql);

$mysqli->close();


echo "äàí³ óñï³øíî âñòàâëåí³";
return;

}

?>

<form>
 Âàøå ³ìÿ: <input type="text" name="$name"><br>
Ïð³çâèùå <input type="text" name="$sname"><br>
 e-mail: <input type="text" name="$email"><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>
 
</body>
</html>

 
 

14

Re: База даних та php

ось таке шось наскладав пише шо дані успішно вставлені але даних немає нігде і не знаю шо дальше робити(((

15

Re: База даних та php

Ви не визначили змінну $sname'. І взагалі там потрібно перелічити всі поля в таблиці і вставляти відповідні значення.

16

Re: База даних та php

    <title>Ëàáîðàòîðíà Àíêåòà</title>

<html>

<body>

 <h1>Àíêåòà</h1>
 <?




 
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);

$mysqli->close();


echo "äàí³ óñï³øíî âñòàâëåí³";
return;



?>

<form>
 Âàøå ³ìÿ: <input type="text" name="$name"><br>
Ïð³çâèùå <input type="text" name="$sname"><br>
 e-mail: <input type="text" name="$email"><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>
 <?
 }
 ?>
</body>
</html>

17

Re: База даних та php

мені не відображає форму чомусь(( для введення і чи добре я описав змінні?

18

Re: База даних та php

1. Там де форма вкажіть метод POST (method="POST")
2. В рядку 53 приберіть } і поставте до форми.

19

Re: База даних та php

    <title>Ëàáîðàòîðíà Àíêåòà</title>

<html>

<body>

 <h1>Àíêåòà</h1>
 <form method="POST">
 Âàøå ³ìÿ: <input type="text" name="$name"><br>
Ïð³çâèùå <input type="text" name="$sname"><br>
 e-mail: <input type="text" name="$email"><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;
 
$mysqli->close();

echo "äàí³ óñï³øíî âñòàâëåí³";
return;

}
?>

 
</body>
</html>

20

Re: База даних та php

коли я заповнюю форму і нажимаю надіслати вона нічого не робить тільки обнулюється і пише що дані вставлено, як тепер перевірити в базі даних чи там щось є? ато я відкрив phpMyadmin а там нічого немає((