Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z linkami
Forum PHP.pl > Forum > Przedszkole
mac1us
Witam. Zadam zapewne proste pytanie: Dlaczego ta konstrukcja nie działa?:
  1. <?php
  2. if ($prawa == 1) {
  3. echo "<a href="dod_produkt.php" target="strona"><IMG SRC="1add_lab.gif" ></a>";
  4. echo "<br>";
  5. echo "<a href="edit_lab.php" target="strona"><IMG SRC="1edit_lab.gif" ></a>";
  6. echo "<br>";
  7. echo "<a href="edit_device.php" target="strona"><IMG SRC="1edit_device.gif" ></a>";
  8. echo "<br>";
  9. echo "<a href="add_device.php" target="strona"><IMG SRC="1add_device.gif" ></a>";
  10. echo "<br>";
  11. echo "<a href="sort.php" target="strona"><IMG SRC="1spis.gif" ></a>";
  12. echo "<br>";
  13. echo "<a href="search.php" target="strona"><IMG SRC="1search.gif" ></a>";
  14. echo "<br>";
  15. echo "<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false">
  16. <IMG SRC="1unlog.gif" ></a>";
  17. ?>
Cienki1980
Jeżeli forum nie namieszało w " ( cudzysłów ) i ' ( apostrof ) to masz właśnie tam błąd ... powinno wyglądać to raczej tak:
  1. <?php
  2. echo '<a href="dod_produkt.php" target="strona"><IMG SRC="1add_lab.gif" ></a>';
  3. ?>

i tak przerobiona każda linijka z echo.
mac1us
podmienilem i teraz wywala
Kod
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /var/www/sites/yoyo.pl/l/a/labgbpl/klient/admin_area.php on line 48
Hazel
Napisz, która linijka w Twoim pliku jest 48, bo za wiele z tego nie zrobimy.
mac1us
ta:
Kod
echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false">
Hazel
Jeśli masz to w takiej formie (ale nie przypuszczam, ze jest aż tak źle), to brakuje Ci na końcu apostrofa i średnika.
Jeśli nie o to chodzi, spróbuj w JS tworzyć funkcje i nie zamieszczać wewnątrz zdarzenia onClick kilku wierszy kodu.
Przykład:
Kod
<script type="text/javascript">
function Funkcja()
{
parent.spis.location.href = 'admin_log.php';
parent.strona.location.href = 'loginout.php';
return false;
}
</script>
<a onClick="Funkcja();">
mac1us
hmmm niebarzo wiem o co chodzi. wrzucam caly skrypt, moze to cos da:
  1. <?php
  2. include "auth_admin.inc.php";
  3. include "conn.inc.php";
  4. $query = "SELECT prawa FROM users";
  5. $results = mysql_query($query)
  6. or die(mysql_error());
  7. ?>
  8. <html>
  9. <head>
  10. <title>Panel uzytkownika</title> <style type="text/css">
  11. body {
  12.  background-color: #87CEFA;
  13. }  a img{
  14. border: none;}
  15. td { color:navy; font-weight: bold;}
  16. p {color:navy; font-weight: bold;}
  17. a
  18. {
  19. color: navy;
  20. }
  21.  
  22. a:hover
  23. {
  24. color: red;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <br><br><br><br>
  30. <p>
  31.  Dostepne opcje uzytkownika:
  32. <br><br>
  33. <?php
  34. if ($prawa == 1) {
  35. echo '<a href="dod_produkt.php" target="strona"><IMG SRC="1add_lab.gif"></a>';
  36. echo '<br>';
  37. echo '<a href="edit_lab.php" target="strona"><IMG SRC="1edit_lab.gif" ></a>';
  38. echo '<br>';
  39. echo '<a href="edit_device.php" target="strona"><IMG SRC="1edit_device.gif" ></a>';
  40. echo '<br>';
  41. echo '<a href="add_device.php" target="strona"><IMG SRC="1add_device.gif" ></a>';
  42. echo '<br>';
  43. echo '<a href="sort.php" target="strona"><IMG SRC="1spis.gif" ></a>';
  44. echo '<br>';
  45. echo '<a href="search.php" target="strona"><IMG SRC="1search.gif" ></a>';
  46. echo '<br>';
  47. echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false"><IMG SRC="1unlog.gif" ></a>';
  48. }
  49. ?>
  50. </body>
  51. </html>
Hazel
Nie wiem, o co chodzi z tym błędem, ale poniższy kod powinien działać.
I niepotrzebnie dynamicznie generujesz statyczną zawartość - Need for Speed...

Kod
<?php
session_start();
include "auth_admin.inc.php";
include "conn.inc.php";
$query = "SELECT prawa FROM users";
$results = mysql_query($query)
  or die(mysql_error());
?>
<html>
<head>
<script type="text/javascript">
function MyFunc()
{
parent.spis.location.href = 'admin_log.php';
parent.strona.location.href = 'loginout.php';
return false;
}
</script>
<title>Panel uzytkownika</title> <style type="text/css">
body {
background-color: #87CEFA;
}   a img{
border: none;}
td { color:navy; font-weight: bold;}
p {color:navy; font-weight: bold;}
a
{
color: navy;
}

a:hover
{
color: red;
}
</style>
</head>
<body>
<br><br><br><br>
<p>
Dostepne opcje uzytkownika:
  <br><br>
<?php
if ($prawa == 1) {
?>
<a href="dod_produkt.php" target="strona"><IMG SRC="1add_lab.gif"></a>
<br>
<a href="edit_lab.php" target="strona"><IMG SRC="1edit_lab.gif" ></a>
<br>
<a href="edit_device.php" target="strona"><IMG SRC="1edit_device.gif" ></a>
<br>
<a href="add_device.php" target="strona"><IMG SRC="1add_device.gif" ></a>
<br>
<a href="sort.php" target="strona"><IMG SRC="1spis.gif" ></a>
<br>
<a href="search.php" target="strona"><IMG SRC="1search.gif" ></a>
<br>
<a href="javascript:void (0)" onclick="MyFunc();"><IMG SRC="1unlog.gif"></a>
</body>
</html>
drPayton
  1. <?php
  2. echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false"><IMG SRC="1unlog.gif" ></a>';
  3. ?>

Tu jest błąd analogiczny do tego, o którym pisał @Cienki1980
Brak escapowania apostrofów i cudzysłowów. Ogólnie zasada jest taka:
Jeżeli tekst w echo umieszczasz między cudzysłowami, cudzysłowy należące do tekstu poprzedzasz backslashem, analogicznie w przypadku apostrofów, np
  1. <?php
  2. echo "Tu jest sobie tekst z \"cudzysłowem\" i jeszcze dalej";
  3. echo 'A tu inny tekst z 'apostrofami' i coś jeszcze';
  4. echo 'Ale zmienną '.$zmienna.' wstawiamy już tak';
  5. echo "Albo tak ".$zmienna." ble ble ble";
  6. echo "Albo tak $zmienna ble ble";
  7. echo "Albo i tak {$zmienna} ble ble";
  8. ?>

Widać wyraźnie różnicę przy kolorowaniu składni. Tekst (tu i w większości edytorów) zaznaczony jest na czerwono.
Cytowana na początku linijka powinna wyglądać:
  1. <?php
  2. echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false"><IMG SRC="1unlog.gif" ></a>';
  3. ?>
Hazel
lol, no fakt tongue.gif
Ślepota nie boli, racja smile.gif
mac1us
poprawilem skladnie ale niestety zmienil sie tylko rodzaj bledu:
Kod
Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in /var/www/sites/yoyo.pl/l/a/labgbpl/klient/admin_area.php on line 48


a edytro, nie wiedziec czemu, calego bloku "echo" nie koloruje wcale....
drPayton
Gdzieś zapomniałeś:
1. Zamknąć apostrofy/cudzysłowy
2. Dostawić średnik
3. Kropka za dużo lub za mało
etc

A jak sam nie znajdziesz, to pokaż ten sam fragment kodu po wprowadzonych zmianach, zobaczymy
mac1us
wszystkie "eche" kolorowane sa normalnie jesli wyrzuce znaczniki <?php i ?> z tej konstrukcji:
Kod
<?php
if ($prawa == 1) {
echo '<a href="dod_produkt.php" target="strona"><IMG SRC="1add_lab.gif"></a>';
echo '<br>';
echo '<a href="edit_lab.php" target="strona"><IMG SRC="1edit_lab.gif" ></a>';
echo '<br>';
echo '<a href="edit_device.php" target="strona"><IMG SRC="1edit_device.gif" ></a>';
echo '<br>';
echo '<a href="add_device.php" target="strona"><IMG SRC="1add_device.gif" ></a>';
echo '<br>';
echo '<a href="sort.php" target="strona"><IMG SRC="1spis.gif" ></a>';
echo '<br>';
echo '<a href="search.php" target="strona"><IMG SRC="1search.gif" ></a>';
echo '<br>';
echo echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = \'admin_log.php\'; parent.strona.location.href = \'loginout.php\'; return false"><IMG SRC="1unlog.gif" ></a>';
}
?>
drPayton
  1. <?php
  2. echo echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false"><IMG SRC="1unlog.gif" ></a>';
  3. ?>


Echo, echo, cho, cho, o ,o
Pogłos robisz? winksmiley.jpg

Jedno echo w zupełności wystarczy
mac1us
<wyrznal glowa w sciane> tak to jest jak sie za duzo czasu spedza przed monitorem...Dzieki wielkie za pomoc.pojawil sie kolejny problem. nie wiem dlaczego ale po logowaniu usera niezaleznie od wartosci pola "prawa" (1,2 lub 3) nic sie nie wyswietla:
  1. <?php
  2. include "auth_admin.inc.php";
  3. include "conn.inc.php";
  4. ?>
  5. <html>
  6. <head>
  7. <title>Panel uzytkownika</title> <style type="text/css">
  8. body {
  9.  background-color: #87CEFA;
  10. }  a img{
  11. border: none;}
  12. td { color:navy; font-weight: bold;}
  13. p {color:navy; font-weight: bold;}
  14. a
  15. {
  16. color: navy;
  17. }
  18.  
  19. a:hover
  20. {
  21. color: red;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <br><br><br><br>
  27. <p>
  28.  Dostepne opcje uzytkownika:
  29.  <br><br>
  30. <?php
  31. $query = "SELECT prawa FROM users";
  32. $results = mysql_query($query)
  33. if ($prawa == 1) {
  34. echo '<a href="dod_produkt.php" target="strona"><IMG SRC="1add_lab.gif"></a>';
  35. echo '<br>';
  36. echo '<a href="edit_lab.php" target="strona"><IMG SRC="1edit_lab.gif" ></a>';
  37. echo '<br>';
  38. echo '<a href="edit_device.php" target="strona"><IMG SRC="1edit_device.gif" ></a>';
  39. echo '<br>';
  40. echo '<a href="add_device.php" target="strona"><IMG SRC="1add_device.gif" ></a>';
  41. echo '<br>';
  42. echo '<a href="sort.php" target="strona"><IMG SRC="1spis.gif" ></a>';
  43. echo '<br>';
  44. echo '<a href="search.php" target="strona"><IMG SRC="1search.gif" ></a>';
  45. echo '<br>';
  46. echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false"><IMG SRC="1unlog.gif" ></a>';
  47. }
  48. if ($prawa == 2) {
  49. echo '<a href="dod_produkt.php" target="strona"><IMG SRC="1add_lab.gif"></a>';
  50. echo '<br>';
  51. echo '<a href="edit_lab1.php" target="strona"><IMG SRC="1edit_lab.gif" ></a>';
  52. echo '<br>';
  53. echo '<a href="edit_device1.php" target="strona"><IMG SRC="1edit_device.gif" ></a>';
  54. echo '<br>';
  55. echo '<a href="add_device.php" target="strona"><IMG SRC="1add_device.gif" ></a>';
  56. echo '<br>';
  57. echo '<a href="sort.php" target="strona"><IMG SRC="1spis.gif" ></a>';
  58. echo '<br>';
  59. echo '<a href="search.php" target="strona"><IMG SRC="1search.gif" ></a>';
  60. echo '<br>';
  61. echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false"><IMG SRC="1unlog.gif" ></a>';
  62. }
  63. if ($prawa == 3) {
  64. echo '<a href="sort.php" target="strona"><IMG SRC="1spis.gif" ></a>';
  65. echo '<br>';
  66. echo '<a href="search.php" target="strona"><IMG SRC="1search.gif" ></a>';
  67. echo '<br>';
  68. echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false"><IMG SRC="1unlog.gif" ></a>';
  69. }
  70. ?>
  71. </body>
  72. </html>
drPayton
Najwyraźniej jednak ma inne wartości.
Przed if'em daj:
  1. <?php
  2. var_dump($prawa);
  3. ?>

i wklej rezultat.

Added:
Teraz dla odmiany mnie zamroczyło. Cóż to za zmienna $prawa? Nie masz jej nigdzie zadeklarowanej...
może jakiś mysql_fetch_array by się przydał, hę? winksmiley.jpg
uli
Cytat(mac1us @ 4.09.2007, 08:43:16 ) *
<wyrznal glowa w sciane> tak to jest jak sie za duzo czasu spedza przed monitorem...Dzieki wielkie za pomoc.pojawil sie kolejny problem. nie wiem dlaczego ale po logowaniu usera niezaleznie od wartosci pola "prawa" (1,2 lub 3) nic sie nie wyswietla:
  1. <?php
  2. include "auth_admin.inc.php";
  3. include "conn.inc.php";
  4. ?>
  5. <html>
  6. <head>
  7. <title>Panel uzytkownika</title> <style type="text/css">
  8. body {
  9.  background-color: #87CEFA;
  10. }  a img{
  11. border: none;}
  12. td { color:navy; font-weight: bold;}
  13. p {color:navy; font-weight: bold;}
  14. a
  15. {
  16. color: navy;
  17. }
  18.  
  19. a:hover
  20. {
  21. color: red;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <br><br><br><br>
  27. <p>
  28.  Dostepne opcje uzytkownika:
  29.  <br><br>
  30. <?php
  31. $query = "SELECT prawa FROM users";
  32. $results = mysql_query($query)
  33. if ($prawa == 1) {
  34. echo '<a href="dod_produkt.php" target="strona"><IMG SRC="1add_lab.gif"></a>';
  35. echo '<br>';
  36. echo '<a href="edit_lab.php" target="strona"><IMG SRC="1edit_lab.gif" ></a>';
  37. echo '<br>';
  38. echo '<a href="edit_device.php" target="strona"><IMG SRC="1edit_device.gif" ></a>';
  39. echo '<br>';
  40. echo '<a href="add_device.php" target="strona"><IMG SRC="1add_device.gif" ></a>';
  41. echo '<br>';
  42. echo '<a href="sort.php" target="strona"><IMG SRC="1spis.gif" ></a>';
  43. echo '<br>';
  44. echo '<a href="search.php" target="strona"><IMG SRC="1search.gif" ></a>';
  45. echo '<br>';
  46. echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false"><IMG SRC="1unlog.gif" ></a>';
  47. }
  48. if ($prawa == 2) {
  49. echo '<a href="dod_produkt.php" target="strona"><IMG SRC="1add_lab.gif"></a>';
  50. echo '<br>';
  51. echo '<a href="edit_lab1.php" target="strona"><IMG SRC="1edit_lab.gif" ></a>';
  52. echo '<br>';
  53. echo '<a href="edit_device1.php" target="strona"><IMG SRC="1edit_device.gif" ></a>';
  54. echo '<br>';
  55. echo '<a href="add_device.php" target="strona"><IMG SRC="1add_device.gif" ></a>';
  56. echo '<br>';
  57. echo '<a href="sort.php" target="strona"><IMG SRC="1spis.gif" ></a>';
  58. echo '<br>';
  59. echo '<a href="search.php" target="strona"><IMG SRC="1search.gif" ></a>';
  60. echo '<br>';
  61. echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false"><IMG SRC="1unlog.gif" ></a>';
  62. }
  63. if ($prawa == 3) {
  64. echo '<a href="sort.php" target="strona"><IMG SRC="1spis.gif" ></a>';
  65. echo '<br>';
  66. echo '<a href="search.php" target="strona"><IMG SRC="1search.gif" ></a>';
  67. echo '<br>';
  68. echo '<a href="javascript:void(0)" onclick="parent.spis.location.href = 'admin_log.php'; parent.strona.location.href = 'loginout.php'; return false"><IMG SRC="1unlog.gif" ></a>';
  69. }
  70. ?>
  71. </body>
  72. </html>


  1. <?php
  2. $query = "SELECT prawa FROM users";
  3. $results = mysql_query($query)
  4. $wiersz = mysql_fetch_array($results);
  5. $prawa = $wiersz['prawa'];
  6. if ($prawa == 1) {
  7. ?>


Pytanie brzmi jak identyfikujesz logowanie, bo w zapytaniu brak WHERE. A bez tego nie zadziała, bo zwróci tylko wartosc 'prawa' ostatniego rekordu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.