Witam!
Mam taki problem w skrypcie php jest uwieszony tekstowy adres strony czyli http://www.moja_strona.pl ale nie jest on linkiem jak zrobić aby to nie był tylko teks ale link do odpowiedniej podstrony - chodzi o przerobieni poniższego kodu próbowałem tak id); ?>"> <?php echo $job->job_name; ?> ale na stronie wyskakuje błąd w tej linii
oto ten kod do przerobienia
$insertMessageData['message'] = "tu jest text " .site_url('job/view/'.$projectid);
Wiesz o tym ze do tego potrzebny jest znacznik a
? Czytałeś chociaż o tym jak się robi linki w htmlu?
niestety ale niewłaściwie się wyświetlił na forum
tak wygląda rzeczywiście ten link co zrobiłem ale coś nie tak z nim
<a href="<?php echo site_url('job/view/'.$job->id); ?>"> <?php echo $job->job_name; ?></a>
nic nie wyświetla bo na stronie jest błąd
na stronie pokazuje się taki błąd - Parse error: syntax error, unexpected T_STRING in /home/
Czy ten błąd nie ma więcej informacji - np o tym w jakiej linijce się pojawia? Jeśli tak to wklej kod z tej linijki i poprzedniej.
Najlepiej to wrzuć cały kod z pliku w którym to się pojawia, no chyba że masz jakieś includy itp itd - wtedy postaraj się wrzucić jakiś https://stackoverflow.com/help/mcve
Wg mnie Twój kod generujący link jest poprawny.
wyświetla że w tej linii poniżej jest błąd
$insertMessageData['message'] = " text" <a href="<?php echo site_url('job/view/'.$projectid);?>"> <?php echo $job->job_name; ?></a>
;
No i widać jak na dłoni... przy przypisywaniu wartości do $insertMessageData['message'], masz najpierw " text", a potem a hrefa - czyli jak widać nie składa się to w całość (tzn składnia jest zwalona), skoro robisz kontatenację stringów to nie powinieneś korzystać z echo
Spróbuj tak
$insertMessageData['message'] = ' text <a href="'. site_url('job/view/'.$projectid). '">' . $job->job_name . '</a>';
A jeszcze lepiej to żebyś zrobił to tak:
$insertMessageData['message'] = sprintf('text <a href="%1$s">%2$s</a>', site_url('job/view/'.$projectid), $job->job_name);
już teraz nie wywala błędu na stronie ale nie ma linku jest tylko napis tekst
zobaczę teraz tą drugą wersję
A co robisz ze zmienną $insertMessageData['message'] ? Bo mam wrażenie że strasznie mieszasz php'a i htmla. Skoro robisz przypisanie do zmiennej to rób przypisanie, a potem wyświetlaj zmienną (echo $insertMessageData['message']
), bo możliwe że chcesz piec dwie pieczenie na jednym ruszcie - czyli przypisać do zmiennej i jeszce od razu wyświetlać, a tego tak nie powinno się robić.
teraz też nie wyświetla linku
tak wygląda oryginalny kod
$insertMessageData['message'] = "Kliknij poniższy link, aby wyświetlić zlecenie<br/>" .site_url('job/view/'.$projectid);
a tak się wyświetla na stronie ale linku nie ma tylko adres strony jako tekst
Kliknij poniższy link, aby wyświetlić zlecenie
http://www.mojastrona.pll/index.php/job/view/21
żeby mieć link musisz mieć href
jak pisał @axelbest wcześniej