2014-09-21 3 views
0

У меня есть код в /user.php:скрипт не получает переменную из GET

<?php 
$thisuser = $_GET['user']; 
echo $thisuser; 
?> 

И я пишу в браузере: /user.php?user=Maria А сайт ничего не эхо. Что в этом плохого?

У меня на самом деле есть сценарий ajax, который должен отправить туда переменную, но она вообще не работает.

EDIT здесь все дело:

echo '<div class="thisphotobox"><div class="photouser">' . 'Dodał:<a href="user.php?user=' . $numphotos["user"] . '" " class="proflink" onclick="prof(\''.$profuser.'\')"> '.$numphotos["user"].'</a></div>'; 


<script> 
    function prof(profuser){ 
    var xmlhttp=new window.XMLHttpRequest(); 
    xmlhttp.open("GET", "user.php?user=" + profuser, true); 
    xmlhttp.send(); 
    } 
    </script> 
+2

Опубликуйте свой скрипт с помощью своего вызова ajax. Это должно сработать над тем, что вы делаете! Ваш код выглядит правильно, если вы открываете файл через браузер. – Stony

+0

Я уже добавил остальную часть кода – hiamprolish

+1

Если вы вызываете свой скрипт в своем браузере, он должен действительно работать и эхо ваш параметр get ... Возможно, сделать эхо до ... – Stony

ответ

0

Это, по-видимому, связано с поведением тега <a>, предотвращающим выполнение вашей функции при нажатии.

Поскольку вы устанавливаете URL внутри функции Prof(), вам не нужно ситемы href значение внутри <a> тега, так что вы могли бы сделать что-то вроде этого:

echo '<div class="thisphotobox"><div class="photouser">' . 'Dodał:<a href="javascript:void(0);" class="proflink" onclick="prof(\''.$profuser.'\')"> '.$numphotos["user"].'</a></div>'; 

Обратите внимание, что я просто набор значение href - javascript:void(0);. Итак, теперь onClick должен вступить в силу, и функция prof() должна быть вызвана.

** Визуально проверить, если он работает: **

Используйте этот яваскрипта код:

<script> 
function prof(profuser) 
{ 
    var xmlhttp=new window.XMLHttpRequest(); 


    xmlhttp.onreadystatechange = function() 
    { 
     if ((xmlhttp.readyState == 4) && (xmlhttp.status==200)) 
     { 
      document.getElementById('result').innerHTML = xmlhttp.responseText; 
     } 
    } 


    xmlhttp.open("GET", "user.php?user=" + profuser, true); 
    xmlhttp.send(); 
} 
</script> 

Тогда вы также должны добавить, в том же файле, где Javascript код является следующее :

<div id="result"></div> 

Наконец, убедитесь, что вы правильно закрывающие PHP-теги <?php ?> и убедитесь, что только PHP-код внутри этого блока. HTML и Javascript должны находиться вне этого блока.

+0

Благодарим за ответ :) Но мне нужно будет перейти на страницу user.php.Как я могу сделать это иначе, как только функция будет выполнена: D? Anyways мой php-скрипт не работает, даже если я вручную добавлю URL-адрес к переменной – hiamprolish

+0

Ваша часть PHP фактически работает ** правильно ** с учетом того, что она делает. Вопрос в том, что вы ожидаете? –

+0

Все, что я хочу сделать, это создать страницу user.php, где представлена ​​информация о конкретном пользователе моего веб-сайта. Нажав на ссылку, вы должны отправить ник пользователя через ajax, а затем я хочу перейти на эту страницу и посмотреть информацию. Что-то вроде, когда вы нажимаете на кого-то ник на facebook. Его просто та же идея – hiamprolish

-5

Скрипт AJAX будет отправлять данные по POST не GET.

GET - это «получить» значение, POST - передать значение.

Вы также используете значение send() для POST, поэтому измените GET на POST в AJAX.

Кроме того, вам нужно объявить свой скрипт ДО того, как вы его вызываете в HTML.

+2

Каждая часть этого ответа неверна – Steve

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