2013-12-23 5 views
0

У меня есть проблема в переходе 2 параметров через URL я не знаю, как, так что я написал это:Как я могу передать несколько параметров URL в PHP

<form method="get" > 
    <b>Enter the Quantity you want:</b> 
    <input type="text" name="quantity"> 
</form> 

<br><br> 

<a href='./shopping-cart.php?part_id="<?php echo $_GET['part_id']; ?>"&quantity="<?php echo $_GET['quantity']; ?>"'> 
    <img src="add_to_shopping_cart.png"> 
</a> 

$_GET['part_id'] этот вар из другого URL и Я хочу передать его снова и $_GET['quantity'] количество из формы.

+1

В вашей форме оных '<входной тип = "скрытый" имя = "part_id" значение = ""/>' –

+0

Вы уверены, что ссылка начинается с '. /'? – zavg

+0

ok Я буду, но как насчет кода URL-кода правильно? – Abeer

ответ

0

Вы получите следующее сообщение Undefined индекс: количество потому что вы пытаетесь получить доступ к неопределенной переменной. Если ваш URL-адрес страницы - это что-то вроде page_name.php?quantity=5, тогда установлен $_GET['quantity], в противном случае это не так.

Вы должны проверить, существует ли переменная $_GET. Если это так, используйте @ user4035 для печати URL.

if(isset($_GET['quantity'])) 
{ 
    //html code,the url 
    //echo $_GET['quantity'] 
} 
+0

thanx много ошибка исчезает^_ ^ – Abeer

1

Вы должны использовать urlencode функцию для ваших параметров, а не использовать двойные кавычки:

<a href='./shopping-cart.php?part_id=<?php echo urlencode($_GET['part_id']); ?>&quantity=<?php echo urlencode($_GET['quantity']); ?>'> 

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

+0

спасибо за вашу помощь, но у меня все еще такая же проблема ( (!) Примечание: Неопределенный индекс: количество в C: \ wamp \ www) – Abeer

+0

@black Это уведомление означает, что элемент $ _GET ['quantity'] не определен. Это не имеет никакого отношения к ссылке. Чтобы избежать уведомления, используйте предложенный yannis hristofakis. – user4035

+0

большое спасибо Вы оба очень помогли – Abeer

0

Есть несколько ошибок, которые я вижу.

Вы не можете использовать $_GET['quantity'], если пользователь вводит его без перезагрузки страницы (помните, что PHP не является клиентской). Таким образом, я предлагаю использовать для этого JavaScript.

Javascript:

function buildUrl(a) { 
    var qty = document.getElementById("qty").value; 
    a.href = "./shopping-cart.php?part_id="+<?php echo $_GET['part_id']; ?> 
    +"&quantity="+qty; 
} 

Как вам больше не нужно, чтобы получить переменную PHP с текущей страницы, форма устарела и простая ссылка будет делать.

HTML:

<b>Enter the Quantity you want:</b> 
<input type="text" name="quantity"> 
<a href='#' onclick="buildUrl(this);"> //onclick attribute triggers the JavaScript 
    <img src="add_to_shopping_cart.png"> 
</a> 
+0

Могу ли я объяснить, почему я был проголосован? –

+0

Хотя вы отвечаете очень хорошо, я думаю, вы не должны указывать его на клиентское решение.У него нет принципиальных вещей, таких как запрос POST-GET, и ответ, такой как ваша воля, только усложнит для него вещи. Подумайте, что он даже не знает 'javascript'. Если вы считаете, что мой голос необоснован, вы можете отредактировать ответ, и я отменим его. –

+1

@yannishristofakis, это справедливый момент, я оставлю его, хотя в случае, если кто-то захочет попробовать его таким образом. –

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