код, предшествующий URL ссылки - PullRequest
1 голос
/ 13 сентября 2010

Мой PHP почему-то добавляет URL-адрес страницы в мою ссылку.

Ссылки, которые должны иметь значение #, выдаются как mysite.com/url_the_page/page.php#, и идея, что может вызвать это?1006 *

Полный код:

while ($row = mysql_fetch_array($query))
    {

        if ($row[sourcefile] !== NULL )
        {


            echo '';


            if ( $row[artist] !== NULL && $row[title] !== NULL)
            {
                $artist_title = $row[artist] . ' - ' . $row[title];
            }
            else
            {
                $artist_title = $row[originalfilename];
            }



            echo "<a href=http://".$row[link].' target="_blank">LINK</a> - ';

            if ( $row[listened] == 0)
            {
                $link_class = "unlistened";
            }
            else
            {
                $link_class = "listened";
            }

            $size = $row[size];
            $size = round(($size / 1000000),2);

            if ( $size > 30 )
            {
                echo '<font color="red">MIX </font>';
            }

            echo '<span id="'.$row[id].'" class="'.$link_class.'">';                

            echo '<a href="#" id="song_'. $row[id].'">';
            echo $artist_title;
            echo '</a></span>';

            echo ' - ';

            //turn size into MB
            $size = $row[size];
            $size = round(($size / 1000000),2);

            //if the song is smaller than a certain size display the size as red.   
            if ( $row[size] < 1500000)
            {
                echo '<font color="red">';
                echo $size;
                echo '</font>';
            }
            else
            {
                //echo $row[size];
                echo $size;
            }

            echo 'MB<br>';

        }
    }

Ответы [ 2 ]

5 голосов
/ 13 сентября 2010

Это не имеет ничего общего с PHP, но является поведением вашего браузера по умолчанию.

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

Я не уверен, что вы хотите сделать, но URL не должны содержать этот символ в своей адресной части.

1 голос
/ 13 сентября 2010

Насколько я знаю, это нормальное поведение, если у вас есть ссылка с категориями имен, например:

<a name="categories"></a>

Тогда вы бы ссылались на этот раздел страницы, используя следующий URL

mysite.com/index.html#categories
...