Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekierowanie na rekord z xml
Forum PHP.pl > Forum > PHP
zdandro
Witam wszystkich,

Otoz to jest skrypt formularza w pliku html:
  1. <form action="Logmein.php" method="POST" enctype="content/type">
  2. <div id="logoCntcForm"><img src="/Img/Logo.png"/></div>
  3. <div id="writingLogo"></div>
  4. <div style="padding-top: 25px; padding-left:25px;"><img src="../Img/enterPass.png" /></div>
  5. <input id="inputLogin" type="password" name="Passwd" size="7" /><br />
  6. <input id="Submit_login" type="image" src="/Img/submitCntc.png" onclick="return check_login(this.form);" />
  7. </form>

To kod skrptu php:
  1. $serverName = "http://127.0.0.1/";
  2. $password = $_POST["Passwd"];
  3.  
  4. if (!isset ($password) )
  5. {
  6. include 'MainFiles/wrongPass.inc.php';
  7. }
  8. elseif ( empty ($password))
  9. {
  10. include 'MainFiles/wrongPass.inc.php';
  11. }
  12. else
  13. {
  14. require("MainFiles/essential.inc.php");
  15.  
  16. foreach($login as $pwd=>$place)
  17. {
  18. setcookie("visit",md5($password), time()+1200);
  19. if ( md5($password) == $_COOKIE['visit'] )
  20. {
  21. header("Location:$serverName/".$place);
  22. }
  23. else {
  24. header("Location:http://www.google.com");
  25. }
  26. }
  27. }

A to struktura pliku Xml w php utworzonego za pomoca SimpleXML
  1. $login = array ('pass1'=> 'page1',
  2. 'pass2'=>'page2',
  3. 'pass3'=>'page3'
  4. );


Po pobraniu wartosci "pass1" powninen "zredirektowac" na na katalog "page1". W tej chwili skrypt (nie wiem czym sie kieruje) ale wybiera katalog niezgodnie z plikiem Xml. Gdzie tkwi blad?

Bede bardzo wdzieczny za wszelka pomoc
CuteOne
A dokładnie to gdzie cię przekierowuje?

ps. usuń / z nagłówka [$serverName ma już /]
  1. header("Location:$serverName/".$place);
zdandro
Sorry za niedokladne napisanie postu. Po 1 nie jest to SimpleXML tylko dzialanie na tablicach, a po 2 nie mozna utworzyc pliku xml za pomoca SimpleXML. Ale o tym mozna by napisac rozprawke... smile.gif

A wiec przekierowanie dziala bez zarzutu. O ile nie prubuje porownac zawartosci hasla z XML potraktowanego hashowaniem md5 i zapisanym w cookie z uprzednio zahashowanym haslem podanym poprzez input field.

I wtedy wlasnie redirectuje na ostatni rekord, co jest baaardzo dziwne. Jezeli prubuje wyswietlic wszystkie zmienne za pomoca echo pokazuje wszystko poprawnie.

Taki z tego wniosek ze blad lezy gdzies tutaj:
  1. setcookie("visit",md5($password), time()+1200);
  2. if ( md5($password) == $_COOKIE['visit'] )
  3. {
  4. header("Location:$serverName/".$place);
  5. }

Jakies pomysly?
CuteOne
hehehe taki banalny błąd ;]

foreach($login as $pwd=>$place)

a sprawdzasz

if ( md5($password) == $_COOKIE['visit'] )

  1. foreach($login as $pwd=>$place)
  2. {
  3. setcookie("visit",md5($password), time()+1200);
  4. if ( md5($pwd) == $_COOKIE['visit'] )
  5. {
  6. header("Location:$serverName".$place);
  7. }
  8. else {
  9. header("Location:http://www.google.com");
  10. }
  11. }
zdandro
Rzeczywiscie, taki banal a tyyyyyyyyle problemu ;/ Ale dziala smile.gif

Dzieki bardzo
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.