Konstrucja linku w skrypcie php

0

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);

0

Wiesz o tym ze do tego potrzebny jest znacznik a? Czytałeś chociaż o tym jak się robi linki w htmlu?

0

niestety ale niewłaściwie się wyświetlił na forum

0

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>
0

nic nie wyświetla bo na stronie jest błąd

0

na stronie pokazuje się taki błąd - Parse error: syntax error, unexpected T_STRING in /home/
0

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.

0

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>;

0

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);
0

już teraz nie wywala błędu na stronie ale nie ma linku jest tylko napis tekst

0

zobaczę teraz tą drugą wersję

0

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ć.

0

teraz też nie wyświetla linku

0

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

0

żeby mieć link musisz mieć href jak pisał @axelbest wcześniej

1 użytkowników online, w tym zalogowanych: 0, gości: 1