Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2017, 13:57   #1
MDragniil
Пользователь
 
Регистрация: 23.12.2016
Сообщений: 31
По умолчанию Не ищется в поиске

Проблема в поиске, ввожу данные а меня переводит на главную страницу, в чем ошибка?
PHP код:
<!DOCTYPE html>
<html>
<head>
  <title>Поиск</title>
  <meta charset="utf-8">
   <link rel="stylesheet" type="text/css" href="fonp.css">
</head>

<body>
    <form action="http://lichdstyd/">
    <input type="submit" value="На главную" class="knopka"/>
        <fieldset>
            <legend>Поиск</legend>
<form method="POST" action="select_styd.php">
<label for="first_name">Имя для поиска:</label><br/>
<input type="text" name="name" size="30"><br/>
<label for="last_name">Фамилия для поиска:</label><br/>
<input type="text" name="surname" size="30"><br/>
<input id="submit" type="submit" value="Найти и вывести"><br/>
</form>
</fieldset>
  <fieldset>
      <legend>Все студенты</legend>
        </form>
    <ul>
        <?php
        
require "oll_styd.php";
    
?>
        </ul
</fieldset>
</body>
</html>
select_styd.php
PHP код:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="fonp.css">
    <title>Запросить данные из БД</title>
    </head>
    <body>

    <dl>

    <?php
$host 
'localhost'// адрес сервера
$database 'styd'// имя базы данных
$user 'root'// имя пользователя
$password ''// пароль

    // Соединиться с сервером БД
    
$link mysqli_connect($host$user$password$database)
        or die(
"Ошибка " mysqli_error($link));
 
        
mysqli_query ("set character_set_client='cp1251'");
mysqli_query ("set character_set_results='cp1251'");
mysqli_query ("set collation_connection='cp1251_general_ci'");
    
$name trim($_REQUEST['name']);
$surname trim($_REQUEST['surname']);
        
    
$query ="SELECT * FROM new_table name='$name' && surname='$surname'";
 
    
// выполняем запрос
    
$result mysqli_query($link$query) or die("Ошибка " mysqli_error($link)); 
    
    
$row mysqli_fetch_array($result) {

    if(
$row)
{
    
printf("<p>Пользователь: " .$row['name'] .
     .
$row['surname'] ."</p>---------<br/>"
    
);
}
else{echo (
"Пользователя с таким именем в базе нет<br/><br/>");}

    

    
// Закрыть соединение с БД
    
mysqli_close($link);
    
?>

    </dl>
    <p><a href="http://lichdstyd/poisk">Назад</a></p>

    </body>

    </html>
MDragniil вне форума Ответить с цитированием
Старый 24.12.2017, 14:06   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от MDragniil Посмотреть сообщение
в чем ошибка?
У тебя форма в форме, и для «внешней» формы обработчиком указана главная страница.
Andkorol вне форума Ответить с цитированием
Старый 24.12.2017, 19:23   #3
MDragniil
Пользователь
 
Регистрация: 23.12.2016
Сообщений: 31
По умолчанию

Исправил но после этого появляется другая ошибка
Ошибка You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='Максим' && surname='Кащавцев'' at line 1
PHP код:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="fonp.css">
    <title>Запросить данные из БД</title>
    </head>
    <body>

    <dl>

    <?php
$host 
'localhost'// адрес сервера
$database 'styd'// имя базы данных
$user 'root'// имя пользователя
$password ''// пароль

    // Соединиться с сервером БД
    
$link mysqli_connect($host$user$password$database)
        or die(
"Ошибка " mysqli_error($link));
 
    
$name trim($_REQUEST['name']);
$surname trim($_REQUEST['surname']);
        
    
$query ="SELECT * FROM new_table name='$name' && surname='$surname'";
 
    
// выполняем запрос
    
$result mysqli_query($link$query) or die("Ошибка " mysqli_error($link)); 
    
    
$row mysqli_fetch_array($result); 

    if(
$row)
{
    
printf("<p>Пользователь: " .$row['name'] .
     
$row['surname'] ."</p>---------<br/>"
    
);
}
else{echo (
"Пользователя с таким именем в базе нет<br/><br/>");}

    

    
// Закрыть соединение с БД
    
mysqli_close($link);
    
?>

    </dl>
    <p><a href="http://lichdstyd/poisk">Назад</a></p>

    </body>

    </html>
MDragniil вне форума Ответить с цитированием
Старый 24.12.2017, 19:31   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

В запросах названия таблиц и полей нужно экранировать обратными кавычками: `table_name`, `field_name`.
Andkorol вне форума Ответить с цитированием
Старый 24.12.2017, 21:25   #5
MDragniil
Пользователь
 
Регистрация: 23.12.2016
Сообщений: 31
По умолчанию

я не понял тебя
MDragniil вне форума Ответить с цитированием
Старый 24.12.2017, 22:53   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Помимо отсутствия экранирования названий таблиц и полей – ты в своём запросе ещё и WHERE пропустил:
PHP код:
$query ="SELECT * FROM `new_table` 
         WHERE `name` = '
{$name}
         AND `surname` = '
{$surname}'"
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищется исполнитель-ли Александр777999 Фриланс 5 01.05.2016 22:12
Ищется специалист по QT 5.2 rbnikitin Qt и кроссплатформенное программирование С/С++ 0 06.12.2013 22:48
С++, ищется r2n Фриланс 2 29.01.2008 15:12