2014-02-17 5 views
-1

Я использую XAMPP и имею сайт php, который должен распечатать вход, переданный GET. URL-адрес выглядит как http://127.0.0.1/profile.php?id=643bqmxf9rj62.HTML/PHP GET только получает числовой ввод

В файле PHP У меня есть этот код:

$accId= $_GET['id']; 
echo "accId = " + $accIdd; 

Что распечатана это просто 643 без accId =. Ничто после первого символа, который не является цифрой, отключается.

Когда я передаю bqmxf9rj62 в URL без номеров спереди, мой сценарий печатает 0.

Я сделал сайты раньше, но я не могу понять, почему это происходит.

ответ

4

Вы используете неправильный оператор для конкатенации. В PHP, оператор конкатенации является период/точка: .

Так что ваш код должен быть:

echo "accId = " . $accIdd; 

Знак плюс + является оператором конкатенации в JavaScript.

Использование + здесь означает, что вы на самом деле добавляете вещи вместе, а не конкатенации, поэтому PHP думает blah + 643etc = 643.

+0

Ничего себе, это действительно было время с тех пор, как я последний раз коснулся PHP. Это весело, учитывая то, как я его разозлил. Спасибо. Принимая ваш ответ, как только сайт позволяет мне. – spacecoyote

+0

Вот еще несколько деталей о том, почему разработчики PHP решили использовать оператор точки вместо плюса: http://stackoverflow.com/questions/1866098/why-a-full-stop-and-not-a-plus-symbol- для струны-конкатенация-в-PHP – gat

Смежные вопросы