Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Nie rozumiem idei index?url=home
Forum PHP.pl > Forum > Przedszkole
luke18dg
Witam, mój problem polega na tym, że zbytnio nie kumam jak taki system ma działać.
Zrobiłem 4 przykładowe pliki związane z logowanie do systemu, walidacja danych przesłanych z logowanie do systemu oraz przykładowa strona po spełnieniu wszystkich możliwych warunków. Dołączyłem także do tego funkcje. Proszę was o trochę cierpliwości i zrozumienia. smile.gif
index.php
  1. <?php
  2. if(!isset($_GET['url']))
  3. {include('logowanie.php');}
  4. else
  5. {
  6. if (is_file('includes/'.$_GET['url'].'.php'))
  7. {include('includes/'.$_GET['url'].'.php');}
  8. else {echo'Error 500002 - Brak strony o podanej nazwie.';}
  9. }
  10. ?>

logowanie.php
  1. <html>
  2. <head>
  3. <title>Logowanie</title>
  4. <meta name="AUTHOR" content="A">
  5. <meta http-equiv="Expires" content="0" />
  6. <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate" />
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  8. <style type="text/css">
  9. <!--
  10. #centrowanie{width:80%; min-width:500px; max-width:750px; margin: 0 auto;}
  11. td.szerokosc{width:30%; min-width:150px; max-width:2500px;}
  12. //-->
  13. </style>
  14. </head>
  15. <body>
  16. <form name="logowanie" method="post" action="logowaniedosystemu.php">
  17. <table border="1" id="centrowanie" cellspacing="5" cellpadding="5">
  18. <tr>
  19. <td colspan="2"><center>Logowanie do strony internetowej</center></td>
  20. </tr>
  21. <tr>
  22. <td class="szerokosc"><center>Login</center></td>
  23. <td><center><input type="text" name="login" required = "required" size="35"></td>
  24. </tr>
  25. <tr>
  26. <td class="szerokosc"><center>Haslo</center></td>
  27. <td><center><input type="password" name="haslo" required = "required" size="35"></center></td>
  28. </tr>
  29. <?php
  30. if(isset($tablica))
  31. {
  32. echo '<tr><td colspan="2"><ul>';
  33. foreach($tablica as $i) {echo '<span style="color: RED;"> <li>'.$i.'</li></span>'; }
  34. echo '</ul></td></tr>';
  35. }
  36. ?>
  37. <tr>
  38. <td colspan="2"><center><input type="submit" name="Wyslij" value="Wyślij"></center></td>
  39. </tr>
  40. </table>
  41. </form>
  42. </body>
  43. </html>

logowaniedosystemu.php
  1. <?php
  2. if (sizeof($_POST) == 0)
  3. {
  4. include('logowanie.php');
  5. exit();
  6. }
  7. $walidacja=false;
  8. $login=$_POST['login'];
  9. $haslo=$_POST['haslo'];
  10. $tablica = array();
  11. if(($login=="")||($login==" "))
  12. {
  13. $tablica[]='Brak wpisanego loginu.';
  14. $walidacja=true;
  15. }
  16. if(($haslo=="")||($haslo==" "))
  17. {
  18. $tablica[]='Brak wpisanego hasła';
  19. $walidacja=true;
  20. }
  21. if($walidacja==true)
  22. {
  23. include('logowanie.php');
  24. exit();
  25. }
  26. include('funkcje.php');
  27. $połacz=mysql_connect('localhost', 'root','czyalamakota') or die(blad('Nie można połączyć się z bazą danych'));
  28. mysql_select_db('projekt', $połacz) or die(blad('Nie można wybrać bazy danych'));
  29. $zapytanie_id=mysql_query('SELECT * FROM `uzytkownicy` WHERE ((uzytkownicy.login=\''.$login.'\')&&(uzytkownicy.haslo=\''.sha1($haslo).'\')) LIMIT 1');
  30. if((mysql_num_rows($zapytanie_id))==0){blad('Błędna nazwa użytkownika lub hasło');}
  31. else
  32. {
  33. $rekord=mysql_fetch_array($zapytanie_id);
  34. include('includes/home.php');
  35. }
  36. ?>

home.php
  1. <html>
  2. <head>
  3. <title>Strona główna</title>
  4. <meta name="AUTHOR" content="A">
  5. <meta http-equiv="Expires" content="0" />
  6. <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate" />
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  8. <style type="text/css">
  9. <!--
  10. #centrowanie {width:80%; min-width:1000px; max-width:3000px; margin: 0 auto;}
  11. #lewydiv {width:20%; min-width:200px; max-width:600px;}
  12. #glownydiv {width:80%; min-width:800px; max-width:2400px;}
  13. -->
  14. </style>
  15. </head>
  16. <body>
  17. <?php if((isset($rekord)))
  18. {
  19. echo '<table border="1" id="centrowanie" cellspacing="5" cellpadding="5"><tr>';
  20. echo '<td id="lewydiv"></td>';
  21. echo '<td id="glownydiv">';
  22. echo '<center>Witaj '.$rekord['login'].'!</center><br><br> Proszę skorzystać z menu po lewej strony, aby skorzystać z funkcjonalności tej strony.';
  23. echo '</td></tr><table>';
  24. }
  25. else{echo '<center>Error 500001</center><br><center>Proszę skomunikować z aministratorem strony</center>';}
  26. ?>
  27. </body>
  28. </html>

funkcje.php
  1. <?php
  2. //FUNKCJE
  3. //FUNKCJE WYKORZYSTYWANE W logowaniedosystemu.php
  4. function blad($a)
  5. {
  6. $tablica[]=$a;
  7. include('logowanie.php');
  8. }
  9. ?>
lobopol
Z czym masz problem, bo nie sprecyzowałeś.
luke18dg
Mój problem polega, że chce w teorii jak wchodzi użytkownik na index.php dalej pozostawał na index.
Użytkownik loguje się do systemu, jest walidacja, ja chcę, żeby tylko on dalej pozostawał na index.
Może mało gramatycznie, ale planowałem, żeby wchodząc na index adres mniej więcej tak wyglądał index.php przechodząc do logowania index.php?url=logowanie. I tutaj już problem i pies pogrzebany bo zbytnio nie umiem tego zrobić. A tym bardziej przy akcji w formularzu.
analfabeta11
Bry. Chyba o to Ci chodzi. Utwórz sobie plik o jakiejś nazwie w stylu default.html/php i jeżeli nie będzie podany $_GET['url'] to niech ładuje plik default.html/php. Ja u siebie robię coś takiego:
  1.  
  2. if(isSet($_GET['url']))
  3. {
  4. $plik = $_GET['url'].".php";
  5. if(file_exists($plik)){
  6. include($plik);
  7. }
  8. else{
  9. include('default.php');
  10. }
  11. }
  12. else include('default.php');
luke18dg
analfabeta11 - Proszę przeczytać temat, lub dokładnie przeczytać to co pisałem w pierwszym poście. smile.gif
zamper
Url do logowanie:
<a href="index.php?url=logowanie">Logowanie</a>
Formularz:
<form action="index.php?url=logowanie">...</form>

Wszystkie linki i formularze prowadzą do index.php, a to co się ma wyświetlić na strone ustalasz na podstawie $_GET
luke18dg
Cytat(zamper @ 4.02.2013, 19:55:12 ) *
Url do logowanie:
<a href="index.php?url=logowanie">Logowanie</a>
Formularz:
<form action="index.php?url=logowanie">...</form>

Wszystkie linki i formularze prowadzą do index.php, a to co się ma wyświetlić na strone ustalasz na podstawie $_GET


Może co do linków część była poprawna, ale co do formularzy sam sobie już poradziłem.
Wg twojej metody wg najnowsze(chyba php 5 cos tam) wywala błąd
  1. Warning: include(/phpmyadmin/index.php) [function.include]: failed to open stream: No such file or directory in C:\Programy\SERWERWWW\htdocs\index.php on line 1
  2. Warning: include() [function.include]: Failed opening '/phpmyadmin/index.php' for inclusion (include_path='.;C:\php5\pear') in C:\Programy\SERWERWWW\htdocs\index.php on line 1

A dla potomnych, dodałem następne pole ukryte do formularza z taką samą nazwą zmiennej jaką porównuje w warunkach w index.html.
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.