PHP_вопрос новичка пропревращение строк в ссылки
у меня вопрос про гиперссылки,мне нужно превратить строчки из файлав ссылки,файл готов,загружен
но вот делаю такие 2 строчки
" $vvlink = "/pages/1.php";
print " <а href = \"$vvlink\">111111</a> " ;"
и на php-странице ссылка не получается,выходит только такое:"<а href = \"$vvlink\">111111"
а вот такая строчка ссылку рожает без проблем:" print " <a href= \"/pages/1.html\">переход на персональные странички</a> <br>" ;"
в чём дело,как это преодолеть?
echo " <а href = \"$vvlink\">111111</a> ";
А вообще, вам необходимо изучить PHP .. начать стоит, как минимум, с учебника по ПХП на softtime.ru
Для начинающего там всё подробно, с примерами и пояснениями.
echo " <а href = \"$vvlink\">111111</a> ";
А вообще, вам необходимо изучить PHP .. начать стоит, как минимум, с учебника по ПХП на softtime.ru
Для начинающего там всё подробно, с примерами и пояснениями.
нет,не получилось,к сожалению,на страничке php выводится :"<а href = "/pages/1.php">111111 ", а не ссылка
print " <а href = \"$vvlink\">111111</a> " ;
print (" <а href = \"$vvlink\">111111</a> " ) ;
print( " <a href= \"/pages/1.html\">переход на персональные странички</a> <br>") ;
print " <a href= \"/pages/1.html\">переход на персональные странички</a> <br>" ;
print (" <а href = \"$vvlink\">111111</a><br> " ) ;
echo " <а href = \"$vvlink\">111111</a><br> ";
print (" <а href = $vvlink>111111</a><br> " ) ;
echo (" <а href = $vvlink>111111</a><br> " ) ;
---------> вывод:
<а href = "/pages/1.php">111111 <а href = "/pages/1.php">111111 переход на персональные странички
переход на персональные странички
<а href = "/pages/1.php">111111
<а href = "/pages/1.php">111111
<а href = /pages/1.php>111111
<а href = /pages/1.php>111111
то есть только прямая ссылка на страницу без применения переменной даёт гиперссылку
print( " <a href= \"/pages/1.html\">переход на персональные странички</a> - <br>") ;----------только такое работает
нет,не забыл,на двух хостингаъх такое происходит,что-то не так делаю ,хотя вот здесь----------http://docs.com.ru/php_1_9.php написано,что это--------->(
$vvlink = "/pages/1.php";
print " <а href = \"$vvlink\">111111</a> " ;) должно работать
Весь код в студию...
echo ('<а href = "$vvlink">111111</a>');
Фейл. код неверен, т.к. в одинарных кавычках переменные не принимают своё значение, как это происходит внутри двойных кавычек. Работающий вариант ниже.
Если это не работет - значит я ошибся...
Если это не работет - выбросьте компьютер и сервер
Выбросьте лучше свою манеру подобным образом отвечать на вопросы. Вы еще НЕ готовы отвечать на форуме в силу отсутствия у вас нужного опыта и знаний. В данном случае не работает из-за... ординарных кавычек. В чем разница в РНР между двойными и ординарными кавычками? На этот вопрос вам с радостью ответит малоизвестный сервис под названием google.com
У автора топика же не работало по причине незакрытого тега <a>
В указанном мной коде действительно ошибка. Навеяно автором топика.
echo '<а href = "'.$vvlink.'">111111</a>';
Вот так будет работать
И у автора топика HTML-теги закрыты... неправильный вывод...
echo '<а href = "'.$vvlink.'"><Бякин</a>';
приводит к такому результату----------><а href = "/pages/1.php"><Бякин
хостеры hut &webservice
может быть,я должен что-то поменять в каком -нибудь настроечном файле,вроде htaccess?
или попросить каких-то настроек у хостеров?
echo '<а href = "'.$vvlink.'"><Бякин</a>';
У тебя перед "Бякин" лишняя стрелка < и браузер его некорректно отображает
Если тебе нужна эта стрелка на сайте, то нужно писать ее ХТМЛ-код "<" (без кавычек)
выводит<а href = "/pages/1.php">Бякин
на echo '<а href = "'.$vvlink.'">"<"Бякин</a>'; ---------><а href = "/pages/1.php">"<"Бякин
на echo '<а href = "'.$vvlink.'">"<"Бякин</a>';
-------> <а href = "/pages/1.php">"<"Бякин
это---> echo '<а href = "'.$vvlink.'"><Бякин</a>';приводит к
<а href = "/pages/1.php"><Бякин
а это echo '<а href = "'.$vvlink.'"><Байкин</a>';
вот к этому-----><а href = "/pages/1.php"><Бякин
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>selpage</title>
</head>
<body rightmargin=370 bgcolor=white link=red text=black vlink=red leftmargin=180>
<B> <p allign="center">
<center> <font color="green"> <H1>Результат запроса с <a href= "wrkindex.html">главной странички</a>
</H1><br> <font color="black">
<?php
print "Список составлен юнгой Зайцевым(Саратов) по материалам гатчинского архива <br>";
print "редактирование,уточнение и дополнение произведено юнгами <br> Львом Владимировичем Шахниным(Москва) и Борисом Владимировичем Давыдовым(Москва) <br>";
print " <br>";
$selpeople=$_REQUEST["selpeople"];
$selfile= $selpeople ;
$number_nabor=substr_replace ("$selfile", "", 0, 1);
$man_letter= substr_replace ("$selfile", "", 1, 1);
echo "Вы_искали юнгу военного набора_№-->$number_nabor " ;
print " <br>";
echo "Вы_искали юнгу с первой буквой фамилии-->$man_letter" ;
print " <br>";
print " <br>";
$fp= fopen("base_people.txt", "r") ;
$line=fgets($fp);
print "<center><h3>$line</h3></center>\n" ;
while(!feof($fp))
{$line=fgets($fp);
if(($man_letter==substr ("$line", 0,1))&&($number_nabor==substr("$line",45,1))) {
$line_print= substr("$line",0,33) ;
print"$line_print <br>\n";}
else ;
}
print "</center>\n";
fclose($fp);
$vvlink = "/pages/1.php";
echo '<а href = "'.$vvlink.'">Байкин</a>';
// echo '"<а href = "'.$vvlink.'"><Байкин</a>'";
// echo "<а href = "'.$vvlink.'"><Байкин</a>";
// print '<а href = "'.$vvlink.'"><Байкин</a>';
// print"<а href = "'.$vvlink.'"><Байкин</a>";
// print("<а href = "'.$vvlink.'"><Байкин</a>");
/* for ($i=0; $i < count($menu); $i++) {
print "<a href=index-",$i+1,".php>",$menu[$i],"</a><br>";*/
?>
</center>
</P>
</body>
</html>
[QUOTE=Alexander23]
$line_print= substr("$line",0,33) ; // и тому подобный код
[/QUOTE]
Правильный код:
большое спасибо,конечно многого не понимаю(почему именно '___',например,в С это признак значения аргумента),и print работает и без точек работает (я ,честно,не знаю,что это такое,то есть надо будет читать,просто мне надо быстро ,чтобы по минимуму заработало)
последний вопрос- что посоветуете почитать (я начал с харриса (для начинающих) и ещё почитываю котеров,костеров php5)
ещё раз спасибо,это была первая остановка при использовании php, до этого всё получалось быстро:o
а буквы оказались кирилловы ,потому,что просто готовый пример из инета взял,не сам набивал
2 Alexander23:
Я конечно не эксперт (как тут некоторые намекают), но предлагаю тебе ознакомиться со следующими ссылками и предложениями:
1. print VS echo - http://www.cyberforum.ru/php-beginners/thread92598.html - ознакомься, ты упомянул СИ, значит там статейка для тебя. Будет интересно, обещаю. Сам для вывода я использую echo.
2. Оформление кода. Желательно поработать над этим, иначе сами потом не сможете понять, что где...
Например:
{$line=fgets($fp);
if(($man_letter==substr ("$line", 0,1))&&($number_nabor==substr("$line",45,1))) {
$line_print= substr("$line",0,33) ;
print"$line_print <br>\n";}
else ;
}
Здесь твой код плохо читаем, потому что отсутствует форматирование и добавлены явно лишние элементы, как то например пустой else (наверное, тоже из Си) и куча переносов строк...
Лучше, если код выглядит вот так:
$line=fgets($fp);
if(($man_letter==substr ($line, 0,1))&&($number_nabor==substr($line,45,1))) {
$line_print= substr($line,0,33) ;
print "$line_print <br>\n";
}
}
Он тогда нагляднее... Я, например, для удобства, чтобы видеть, где у меня закончился цикл и условие, открывающую фигурную скобку оставляю на строке с оператором, то что внутри смещаю на 1 табуляцию, а закрывающую - снова на уровне оператора.
3. Я не знаю, в чем вы пишете свой код, но попробуйте DreamWeaver или Notepad++ (есть много редакторов для исходных кодов, PHPEditor, но мне пока хватает первых два), они удобно подсвечивают синтаксис с соответствующих файлах и позволяют сразу увидеть ошибку, например, незакрытую кавычку или сжеванную переменную в одинарных кавычках...
4. Чтыб каждый раз на новой строке не писать "print", можно при выводе просто переходить на другую строку (в echo точно, в принт не знаю, потому как не пользуюсь им), Например так:
echo 'Техт-техт-техт'.$line_print.' техт
техт тест
еще текст '.$some_arr["some_key"].' Текст';
Ну и разумеется в конце строки, если это нужно на странице, ставь <br/>
А в целом - поздравляю с решением проблемы и удачного кодинга! )
Kesano, код-то твой был, между прочим, вернись на страницу раньше. :)
4. Чтыб каждый раз на новой строке не писать "print", можно при выводе просто переходить на другую строку (в echo точно, в принт не знаю, потому как не пользуюсь им), Например так:
echo 'Техт-техт-техт'.$line_print.' техт
техт тест
еще текст '.$some_arr["some_key"].' Текст';
А еще лучше идти и сразу пользоваться heredoc- или nowdoc-синтаксисом.
много
каких-то
строк
FOOBAR;
Kesano, код-то твой был, между прочим, вернись на страницу раньше. :)
А еще лучше идти и сразу пользоваться heredoc- или nowdoc-синтаксисом.
много
каких-то
строк
FOOBAR;
А я что... Я - копипаст ))
Зы... Не пользовался никогда... расскажи о плюсах этого метода...
З.Ы.2. Разобрался... Нашел интересный RTFM с примерами вывода на русском языке, где человек доступно изъясняется.