Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ob_start i session_start
Forum PHP.pl > Forum > Przedszkole
krzysio_w
Cześć.
Nie wiem jak połączyć ob_start i session start. Mam kod stronki (na początku jest oczywiście formularz logowania):
  1. <?php
  2. if (!ereg('[[:upper:]]+[a-z]+[^0-9 ]', $_POST['uzyt']) || !eregi('^[a-zA-z_]+@[a-zA-z0-9\-]+\.[a-zA-z0-9\-\.]+$', $_POST['email']))
  3. {
  4. echo '<br/>';
  5. echo '<h1><center>To nie jest poprawne imie lub e-mail.</center></h1>';
  6. echo '<center><a href="index.php"><font color="black">Wróć do strony logowania</a></center>';
  7. exit;
  8. }
  9. else
  10. {
  11. $link = mysql_connect("tajne", "tajne", "tajne");
  12. mysql_select_db ("tajne");
  13. mysql_query("INSERT INTO odwiedza (imie, mail) values ('".$_POST['uzyt']."','".$_POST['email']."')");
  14. require_once ("tabs.php");
  15. ?>
  16. <?php tabs_header(); ?>
  17. </head>
  18. <?php tabs_start(); ?>
  19. <?php tab("Temat pierwszej zakładki"); ?>
  20. Tekst pierwszej zakładki.
  21. <?php tab("Temat drugiej zakładki"); ?>
  22. Tekst drugiej zakładki.
  23. <?php tabs_end();?>
  24. </body>
  25. </html>


Kod tabs.php to:
  1. ?php
  2. $tabs = array();
  3.  
  4. function tabs_header()
  5. {
  6. ?>
  7. <style type="text/css">
  8. .tab {
  9. background-image: url(tlo.png);
  10. background-repeat: repeat;
  11. border-bottom: 1px solid black;
  12. text-align: center;
  13. font-family: arial, verdana;
  14. }
  15. .tab-active {
  16. background-image: url(tlo.png);
  17. background-repeat: repeat;
  18. border-left: 1px solid black;
  19. border-top: 1px solid black;
  20. border-right: 1px solid black;
  21. text-align: center;
  22. font-family: arial, verdana;
  23. font-weight: bold;
  24. }
  25. .tab-content {
  26. background-image: url(tlo.png);
  27. background-repeat: repeat;
  28. padding: 5px;
  29. border-left: 1px solid black;
  30. border-right: 1px solid black;
  31. border-bottom: 1px solid black;
  32. }
  33. <?php
  34. }
  35.  
  36. function tabs_start()
  37. {
  38. ob_start();
  39.  
  40. }
  41.  
  42. function endtab()
  43. {
  44. global $tabs;
  45. $_SESSION['zmienna sesji']=$_POST['uzyt'];
  46. $text = ob_get_clean();
  47. $tabs[ count( $tabs ) - 1 ][ 'text' ] = $text;
  48.  
  49. ob_start()
  50. }
  51.  
  52. function tab( $title )
  53. {
  54. global $tabs;
  55.  
  56. if ( count( $tabs ) > 0 )
  57. endtab();
  58.  
  59. $tabs []= array(
  60. title => $title,
  61. text => ""
  62. );
  63. }
  64.  
  65. function tabs_end()
  66. {
  67. global $tabs;
  68.  
  69. endtab();
  70. ob_end_clean();
  71.  
  72. $index = 0;
  73. if ( $_GET['tabindex'] )
  74. $index = $_GET['tabindex'];
  75.  
  76. ?>
  77. <table width="100%" cellspacing="0" cellpadding="0">
  78. <tr>
  79. <?php
  80. $baseuri = $_SERVER['REQUEST_URI'];
  81. $baseuri = preg_replace( "/\?.*$/", "", $baseuri );
  82.  
  83. $curindex = 0;
  84. foreach( $tabs as $tab )
  85. {
  86. $class = "tab";
  87. if ( $index == $curindex )
  88. $class ="tab-active";
  89. ?>
  90. <td class="<?php echo($class); ?>">
  91. <a href="<?php echo( $baseuri."?tabindex=".$curindex ); ?>">
  92. <?php echo( $tab['title'] ); ?>
  93. </a>
  94. <?php
  95. $curindex += 1;
  96. }
  97. ?>
  98. </tr>
  99. <tr><td class="tab-content" colspan="<?php echo( count( $tabs ) + 1 ); ?>">
  100. <?php echo( $tabs[$index ]['text'] ); ?>
  101. </td></tr>
  102. <?php
  103. }
  104. ?>

To jest oczywiście już stary, znany ludziom przykład książkowy. Zacząłem studiować podręcznik na php.net ale nie pomógł mi on nic. sad.gif Nie wiem gdzie mam wkleić (i ile razy) funkcję "session_start ()" oraz "$_SESSION['zmienna sesji']=$_POST['uzyt'];" Proszę pomóżcie!!!
Wieviór
  1. <?
  2. ...
  3. ...
  4. cała reszta kodu
  5. ...
  6. ...
  7. ?>


Zawsze session_start(); jest na początku, zanim cokolwiek wyślesz winksmiley.jpg To mi zresztą nie wygląda na logowanie tylko bardziej rejestrację.
krzysio_w
dry.gif Zadam pytanie inaczej. Ten kod który napisem jest zły, ponieważ można przejść po poprawnym zalogowaniu na pierwszą zakładkę. Ale nie daję się już przejść do drugiej i następnych na stronie. Co należy tu zmienić aby internauta mógł obejżeć też inne zakładki??
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.