Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]Nie rozumiem idei index?url=home
luke18dg
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.03.2011
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


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. (IMG:style_emoticons/default/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. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
lobopol
post
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


Z czym masz problem, bo nie sprecyzowałeś.
Go to the top of the page
+Quote Post
luke18dg
post
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.03.2011
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


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.

Ten post edytował luke18dg 3.02.2013, 13:06:08
Go to the top of the page
+Quote Post
analfabeta11
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 14.05.2010
Skąd: Polska

Ostrzeżenie: (0%)
-----


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


Ten post edytował analfabeta11 3.02.2013, 17:51:26
Go to the top of the page
+Quote Post
luke18dg
post
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.03.2011
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


analfabeta11 - Proszę przeczytać temat, lub dokładnie przeczytać to co pisałem w pierwszym poście. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
zamper
post
Post #6





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


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

Ten post edytował zamper 4.02.2013, 19:57:49
Go to the top of the page
+Quote Post
luke18dg
post
Post #7





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.03.2011
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:52