Использование дефисов в URL-адресах

#php #mysql #url

#php #mysql #url

Вопрос:

Итак, у меня есть скрипт, который позволит мне ввести некоторый текст в базу данных с помощью формы ввода, очевидно, в этом тексте могут быть пробелы, затем у меня есть скрипт, который будет извлекать данные в соответствии с этим текстом и повторять текст на странице с другими деталями в его строке.

Моя проблема в том, что мне делать с пробелами, как я могу включить дефисы или знаки плюс в мой запрос данных в соответствии с его строкой, например:

 mytext.php?text=Hello-There
  

И разрешите запросу Select не учитывать дефисы как часть текста (иначе он не будет выбирать строку — должен быть точным)

Как мне это сделать?

Ответ №1:

Если я вас правильно понял, вы можете использовать следующее для запроса

 $url = "mytext.php?text =" . urlencode($usrinput);
  

и затем для обработки запроса вы можете использовать

 urldecode($_GET['text']);
  

Комментарии:

1. Что именно это делает? Также существует проблема с исходным запросом данных при использовании метода: mytext.php?text=Hello There — похоже, что при выполнении запроса к базе данных также учитывается ‘ ‘.

2. Он принимает пользовательский ввод, а затем urlencode() кодирует его в надлежащем формате. Для обработки urldecode() декодирует запрос обратно в обычный текст.

3. @Alex, ты действительно должен использовать POST для этого вместо GET .

4. @Alex — Radu прав, вы должны использовать POST для этого. Это безопасно и может обрабатывать большие строки.

5. Я бы использовал POST, но пользователь должен иметь возможность видеть URL-адрес, я проверю то, что вы сказали, и посмотрю, смогу ли я заставить его работать, большое спасибо 🙂