Как передать значение через href-PHP

Я передаю значение с помощью тега href

на первой странице тег Href используется как

echo "<a href=view_exp.php?compna=",$compname,">$compname</a>";

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

$compname = $_GET['compna']; 

для получения значений Compna проходят, но только первое слово передается остальные слова пропускаются.

Compname as " Chiti Technologies Ltd " Когда я передаю значение, я получаю onlt "Chiti"

5 ответов


причина, по которой вы получаете только первое слово названия компании, заключается в том, что название компании содержит пробелы. Вам нужно закодировать имя.

echo "<a href=view_exp.php?compna=",urlencode($compname),">$compname</a>";

вы создаете неоднозначный / недопустимый HTML, не цитируя параметр. Получается что-то вроде:

<a href=foo bar baz>

только foo признается принадлежащим href, остальные нет. Процитируйте значения:

echo '<a href="view_exp.php?compna=', urlencode($compname), '">', htmlspecialchars($compname), '</a>';

используйте этот код:

echo '<a href="view_exp.php?compna='.urlencode($compname).'">'.$compname.'</a>';

вам нужно добавить цитаты для вашего href, кроме того, вам также нужно использовать urlencode для кодирования переменной.

echo '<a href="view_exp.php?compna=' . urlencode($compname) . '">' . $compname . '</a>';

изменить Эхо "<a href=view_exp.php?compna=",$compname,">$compname</a>";

Эхо "<a href=\"view_exp.php?compna=$compname\">$compname</a>";

при использовании строк с двойными кавычками " вам не нужно вставлять переменные между ними, вы можете просто ввести их. Кроме того , при вставке строк не используйте запятые, а используйте . чтобы вставить строки, иначе вы получите ошибки синтаксического анализа. Для массивов включите их между фигурными скобками {}

echo "<a href=\"view_exp.php?compna={$compname["whatever"]}\">$compname</a>";