Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: link do strony w polu "print"
Forum PHP.pl > Forum > Przedszkole
misiekdg
Mam mały problem, ponieważ mam funkcję która sprawdza sprawdza czy użytkownik jest zalogowany, jak nie to wyświetla napis "brak dostępu" a jak tak pojawia się podmenu z samymi linkami. Kod wygląda następująco:

  1.  <?
  2. if(!auth())
  3. {
  4.   print "<p class=error align=center>*** Brak dostępu ***</p><br>
  5.            <p class=error align=center>*** Musisz się zalogować ***";
  6. }
  7. else
  8. {
  9.   print "
  10. <a href=index.php?page=so/pyt&<?=SESID?>> Pytania wstępne na laborki</A><br> 
  11.           "} 
  12. ?>


poprawiam
---
nospor




rzecz w tym, że po najechaniu na link przeglądarka wyświetla na pasku stanu tylko
"http://www"..."/index.php?page=so/pyt&<?=SESID?" i po kliknięciu na niego traci sesję, gdyż jej numer nie jest przesyłany. Problemu tego nie miałem wcześniej ale w tym przypadku nie mogę użyć cucysłowów, ponieważ wyskakuje błąd z funkcją print.
ghostrider
nakombinowałeś :

Cytat
  1. print "
  2. <a href=index.php?page=so/pyt&<?=SESID?>> Pytania wstępne na laborki</A><br>
  3.  "}

powinno być:

  1. <?php
  2.  print "
  3. <a href=index.php?page=so/pyt&".$SESID."> Pytania wstępne na laborki</A><br>
  4.  " ; 
  5. }
  6. ?>


i tagów nie zamykasz, i jakis taki dziwny ten kod masz, tu małe <a href=....> kończysz </A> dużym,

bałaganiarz jesteś ...., przewiduje wiecej "dziwnych" problemów w przyszłości
Sabistik
a nie powinno byc SID?
  1. <?php
  2.  
  3. print "<a href=index.php?page=so/pyt&".SID."> Pytania wstępne na laborki</A><br>" ; 
  4. ?>
nospor
Cytat(misiekdg)
ale w tym przypadku nie mogę użyć cucysłowów, ponieważ wyskakuje błąd z funkcją print.
laugh.gif
no jak ktos nie zna podstaw to nic dziwnego
  1. <?php
  2.  
  3. <a href="index.php?page=so/pyt&".SESID.""> Pytania wstępne na laborki</a><br> 
  4.           ";
  5.  
  6. ?>

lub
  1. <?php
  2.  
  3. <a href="index.php?page=so/pyt&'.SESID.'"> Pytania wstępne na laborki</a><br> 
  4.           ';
  5.  
  6. ?>

dalem poprawki tylko na te cudzyslowia

pozatym przenosze na poczatkujacy
misiekdg
No nie powiem dopiero się uczę php. Kod ghostrider-a Sabistik-a nie działa. działa tylko kod nospor-a. Wielkie dzięki za pomoc. Mam też jeszcze jeden problem z sesjami, może opiszę to w tym temacie. Mianowicie pojawia mi się na stronie
"Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /srv/free/act26178/index.php:2) in /srv/free/act26178/session.php on line 4"

Problemu tego nie było na lycos-ie, natomiast na haa.pl sie pojawia. Co go powoduje??
nospor
http://php.pl/artykuly/dla_poczatkujacych/...ch_programistow
przeczytaj dokladnie a znajdziesz rozwiąznie swego kolejnego problemu. Pozatym na forum gęsto od takich problemow smile.gif
misiekdg
Już próbowałem stosowania buforowania bez żadnego rezultatu. Kod wygląda następująco:

sesion.php
  1. <?
  2.  
  3.  
  4. include "func.php";
  5.  
  6. switch ($page)
  7. {
  8.   case "login"  : 
  9.                   $login  = htmlentities(substr($_POST["login"], 0, 255));
  10.                   $passwd = htmlentities(substr($_POST["passwd"], 0, 255));
  11.                   login($login, md5($passwd)); 
  12.                   break;
  13.   
  14.   case "logout" : logout();
  15.                   break;
  16. }
  17. ?>


index.php
  1. <?
  2.   include "session.php";
  3. ?>
  4.  
  5. <html>
  6.    <head>
  7.        <link rel="stylesheet" type="text/css" href="style.css">
  8.    </head>
  9.  
  10. <body>
  11. <center> <h1>Strona studentów informatyki</h1></center>
  12.  
  13. <TABLE BORDER="1" WIDTH="100%" CELLSPACING="0" CELLPADDING="10" BORDERCOLOR="gray">
  14.  
  15.        <tr><td width=20% height=450 valign=top>
  16.  
  17. <?
  18.     include "left.php";
  19.   ?>
  20.  
  21.       </td>
  22.       <td valign=top>
  23.  
  24. <?
  25.   if($page=="") $page="link1";
  26.   if(!file_exists($page.".php")) 
  27.   {
  28.      include "default.php";
  29.   }
  30.   else 
  31.   {
  32.     include_once $page.".php";
  33.   }
  34.     ?>
  35.  
  36.        </td></tr>
  37. </table>

Próbowałem też wstawiś buforowanie do index.php ale to też nic nie dało. Natomiast usuwając sesion_start() błąd znika. Nie mam pojęcia jak tego się pozbyć.
nospor
ale ob_start(); musi byc na początku głownego skryptu a ob_end na koncu, a nie w plikach includowanych. Dodatkowo nie moze byc nawet zadnych bialych znakow na poczatku skryptu glownego przed <?
misiekdg
Fajnie, wszystko działa jak należy. Jeszcze upłynie dużo czasu zanim dobrze pojmę php. Wielkie dzięki nospor!!!
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.