Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 05.01.2020
Сообщений: 8

Вывод информации из БД через форму

08.01.2020, 21:23. Показов 2692. Ответов 10

Студворк — интернет-сервис помощи студентам
Всем привет. Я новичок в php и прошу у вас помощи.
Необходимо сделать следующий скрипт php ->
Пользователь вводит в форму определенный код -> если такой код есть в БД, то этому пользователю выводится ВСЯ информация по этому коду из БД. Возможно это элементарно, но я уже 2 день не могу справиться с этой задачей, то с кодом проблемы и ошибку выдает, то еще чего. Прошу помощи.
2 файла. 1 - html с формой с action который отсылает ко 2 файлу, а именню к странице со скриптом php.
Напоминаю смысл моего кода, я через форму делаю запрос треккодом, а в ответ я должен получить всю информацию по этому коду а именно - [tracknum] - сам трек код, [send] - отправитель и [get] - получатель.
1 файл :
<!DOCTYPE HTML PUBLIC>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Вывод данных</title>
</head>

<body>
<fieldset>
<form method="post" action="select_num.php">
<label for="tracknum">Введите трек-код:</label><br/>
<input type="text" name="tracknum" size="30"><br/>
<input id="submit" type="submit" value="Найти и вывести"><br/>
</form>
</fieldset>
</body>
</html>


2 файл:
<!DOCTYPE HTML PUBLIC>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Selected User</title>
</head>

<body>
<?php
$mysqli = new mysqli('localhost', 'root', '', 'test1');



if (mysqli_connect_errno()) {
print_f('Соединение не установлено');
exit();
}

$tracknum = trim($_REQUEST['tracknum']);

$query = $mysqli->query "SELECT * FROM track WHERE tracknum='$tracknum'";
$result = mysql_query($sql_select);
$row = mysql_fetch_array($result);

if($row)
{
printf($row['tracknum'].$row['send'].$row['get'] );
}

else{echo ("Такого трек-кода в базе нет.");}


?>

</body>
</html>


В итоге, когда я пытаюсь работать в браузере с формой, то после нажатия кнопки и перехода к скрипту, на странице с php просто показывает кусок кода, и ничего дальше не понятно.
Я только только начинаю изучать php и соответственно некоторые моменты мне непонятны. Может кто сможет исправить мой код и реализовать его со своей БД на своем ПК чтобы он 100% заработал и указать на мою ошибку.
Миниатюры
Вывод информации из БД через форму  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2020, 21:23
Ответы с готовыми решениями:

Вывод информации из БД через форму
Всем привет. Я новичок в php и прошу у вас помощи. Необходимо сделать следующий скрипт php -&gt; Пользователь вводит в форму...

Вывод информации в форму
Доброго времени суток Есть таблица Таблица 1 (см. вложение), как средствами VBA вывести информацию на форму а возле каждой записи к...

Вывод информации о ПК в форму
Здравствуйте, помогите пожалуйста сделать вывод информации о ПК.

10
 Аватар для Asiman
156 / 119 / 59
Регистрация: 27.04.2013
Сообщений: 351
08.01.2020, 21:53
Для пхп нужен сервер (локальный, виртуальный, физический)
Вам скорее всего подойдет Denver или OpenServer (рекомендую), удачи.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
08.01.2020, 21:54
Цитата Сообщение от deadfox991 Посмотреть сообщение
на странице с php просто показывает кусок кода
PHP выводится на экран как текст вместо выполнения? Если да, как запускаете скрипт? PHP установлен?
0
0 / 0 / 0
Регистрация: 05.01.2020
Сообщений: 8
09.01.2020, 00:59  [ТС]
в html форме скрипт указан в action. Делаю через xampp
0
 Аватар для Asiman
156 / 119 / 59
Регистрация: 27.04.2013
Сообщений: 351
09.01.2020, 01:39
Хорошо, тогда что Вы подразумеваете под куском кода?
0
0 / 0 / 0
Регистрация: 05.01.2020
Сообщений: 8
09.01.2020, 15:29  [ТС]
Если открываю через mozilla то показывает - (1 скрин).
Если через другой браузер chrome 2 (2 скрин)
Возможно я что то не правильно включил или сделал. Работаю через xampp, там у меня включен apache и mysql
Миниатюры
Вывод информации из БД через форму   Вывод информации из БД через форму  
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
09.01.2020, 15:42
Подробную информацию без полноценной авторизации?

И, если это не задание из колледжа, лучше обратитесь к специалисту.
1
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
09.01.2020, 17:43
deadfox991, на первом скрине видно, что вы запускаете скрипт через file://, т.е. просто открываете скрипт в браузере. Это неправильно, браузер не умеет выполнять PHP.

Надо запускать скрипт через созданное вами доменное имя, например domain.ru/script.php. Никаких file:///C:/ быть не должно.
0
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
09.01.2020, 19:23
1. OpenServer. он простой как 5 копеек и легкий в настройке
2. mysqli забываем как оно пишется. учим PDO и радуемся жизни

Цитата Сообщение от deadfox991 Посмотреть сообщение
$tracknum = trim($_REQUEST['tracknum']);
3. никаких REQUEST. POST/GET иначе всегда найдется "хороший человек" который отправит вам в бд get, хотя вы ожидаете post? но REQUEST примит гет и глазом не моргнет и прощай бд
4. фильтруем все то, что получаем от пользователя trim(htmlspecialchars($_POST['tracknum']))
5. все можно вложить в один файл с небольшими правками


PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE HTML PUBLIC>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Вывод данных</title>
</head>
 
<body>
<fieldset>
<form method="post">
<label for="tracknum">Введите трек-код:</label><br/>
<input type="text" name="tracknum" size="30"><br/>
<input id="submit" type="submit" name="btn" value="Найти и вывести"><br/>
</form>
</fieldset>
 
<?php
if (isset($_POST['btn'])) {
    выполняем код...
 
$mysqli = new mysqli('localhost', 'root', '', 'test1');
 
 
 
if (mysqli_connect_error()) {
echo 'Соединение не установлено';
exit();
}
 
$tracknum = trim(htmlspecialchars($_POST['tracknum']));
 
$query = $mysqli->query "SELECT * FROM track WHERE tracknum='$tracknum'";
$result = mysql_query($sql_select);
$row = mysql_fetch_array($result);
 
if($row)
{
print_f($row['tracknum'].$row['send'].$row['get'] );
}
 
else{echo ("Такого трек-кода в базе нет.");}
 
}
 
 
 
?>
 
</body>
</html>
1
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
09.01.2020, 21:19
Цитата Сообщение от Fantom1987 Посмотреть сообщение
все можно вложить в один файл с небольшими правками
Но делать этого не стоит, да и правки должны быть не "небольшими". Даже это очень далеко от идеала, но уже что-то
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
if (isset($_POST['btn'])) {
    $mysqli = new mysqli('localhost', 'root', '', 'test1');
    
    if ($mysqli->connect_errno) {
        exit('Соединение не установлено');
    }
    $mysqli->set_charset("utf8");
    
    $tracknum = trim($_POST['tracknum']);
    
    if ($stmt = $mysqli->prepare("SELECT `tracknum`, `send`, `get` ".
                                 "FROM `track` WHERE `tracknum` = ?")) {
        $stmt->bind_param("s", $tracknum);
        $stmt->execute();
        $stmt->bind_result($track, $send, $get);
    
        if($stmt->fetch()) {
            printf("%s: %s - %s", $track, $send, $get);
        } else {
            echo "Такого трек-кода в базе нет.";
        }
        $stmt->close();
    }
}
 
?>
Это только обработчик
1
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
09.01.2020, 21:44
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Даже это очень далеко от идеала, но уже что-то
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
$mysqli = new mysqli('localhost', 'root', '', 'test1');
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
    $host = 'localhost';
    $db   = 'test1';
    $user = 'root';
    $pass = '';
    $charset = 'utf8';
 
    $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
    $opt = [
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES   => false,
    ];
    $pdo = new PDO($dsn, $user, $pass, $opt);
?>
гулять так по полной)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.01.2020, 21:44
Помогаю со студенческими работами здесь

Вывод информации из таблицы на Форму
Здравствуйте! У меня есть форма производители, на ней выводятся производители и модели из соответсвующих таблиц, не получается чтобы при...

Вывод информации в подчиненную форму
Помогите, пожалуйста, с программой MS Access. Никак не получается при нажатии на какое либо изделие в списке вывести информацию из таблицы...

Вывод информации на другую форму
Есть 2 форм у меня. надо с форм1 из textbox вывести на форм2 в label. есть код на толку одну textbox код с форм1 private void...

Вывод на форму информации из xml-файла
Программа которая открывает файлы через OptnDialog. Из XML файлов необходимо вывести на форму следующую информацию из документа XML. 1)...

Вывод информации из отдельного потока на форму
Приложение должно непрерывно выполнять какую-то задачу в отдельном потоке (например принимать и обслуживать сетевые подключения). И нужен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru