Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Problem z include();
Forum PHP.pl > Forum > Przedszkole
XxmanxX
Witam, nie mam pojęcia dlaczego nie moge z pliku index.php zrobic include(menu.html), inne pliki się wyświetlają ale menu.html nie chce, jakieś sugestie?

index.php
  1. <HEAD>
  2. <TITLE>Strona logowania</TITLE>
  3. <STYLE type=text/css>
  4. form{text-align:center}
  5. </STYLE>
  6. </HEAD>
  7. <BODY>
  8. <?php
  9. if(empty($_POST['user']) || empty($_POST['pass'])){
  10. echo "<div>";
  11. echo "<form action='index.php' method='POST'>";
  12. echo "<p>Username: <input type='text' name='user'></p>";
  13. echo "<p>Password: <input type='password' name='pass'></p>";
  14. echo "<p><input type='submit' name='login' value='Login'></p>";
  15. echo "</form>";
  16. echo "</div>";
  17. }
  18.  
  19. else{
  20. $user=$_POST['user'];
  21. $password=md5($_POST['pass']);
  22.  
  23. $connect = mysql_connect('server','user','pass')
  24. or die('Brak polaczenia z serwerem.<br/>Blad: '.mysql_error());
  25. mysql_select_db('db_name') or die('Error:'.mysql_error());
  26. $query="SELECT pass FROM users where username='$user'";
  27. $result=mysql_query($query)
  28. $row=mysql_fetch_array($result);
  29. extract($row);
  30. if ($password==$pass) include("menu.html");
  31. else {
  32. unset($_POST['user']);
  33. unset($_POST['pass']);
  34. include('index.php');
  35. echo "<center><font size=2 color=red>Incorrect username or password.<br>Please try again.</font></center>";
  36. }
  37. }
  38. ?>
  39. </BODY>
  40. </HTML>


menu.html
  1. </HEAD>
  2. <frameset rows="88,*" border="0" frameborder="0" framespacing="30">
  3. <frame name="logo" noresize="noresize" scrolling="no" frameborder="0" src="logo.html" />
  4. <frameset cols="255,*" border="0" frameborder="0" framespacing="0">
  5. <frame name="spis" noresize="noresize" frameborder="0" src="left_menu.php" />
  6. <frame name="page" noresize="noresize" frameborder="0" src="empty.html" />
  7. <noframes><body><a href="left_menu.php">Menu</a></body></noframes>
  8. </HTML>


r4xz
jak dobrze pamiętam można includować tylko pliki .php (niewiem czy są jakieś wyjątki, ale html na back nie zrobisz winksmiley.jpg)
Suh
Sprawdź czy w ogóle menu.html wyświetla to co chcesz uruchamiając bezpośrednio ten plik.
kfc4
  1. readfile("menu.html");
piotrooo89
Cytat(r4xz @ 11.09.2009, 15:16:55 ) *
jak dobrze pamiętam można includować tylko pliki .php (niewiem czy są jakieś wyjątki, ale html na back nie zrobisz winksmiley.jpg )


coo? nieprawda.

co to tematu, sprawdz czy wpuszcza cię ten else:

  1. else
  2. {
  3. unset($_POST['user']);
  4. unset($_POST['pass']);
  5. include('index.php');
  6. echo "<center><font size=2 color=red>Incorrect username or password.<br>Please try again.</font></center>";
  7. }


bo może masz błąd po stronie logiki.
XxmanxX
  1. readfile("menu.html")
nie pomogło.
else działa tak jak powinno.
Spawnm
a ten if() to jest spełniony ? daj echo $pass i $password i zobacz czy identyczne.

@r4xz -> gdzie ty takie brednie wyczytałeś ?

z innej beczki nie lepiej daj w sql select where user='$user' and pass='$password' ?
jak znajdzie to user istnieje smile.gif

+poczytaj o sql injection
XxmanxX
Tak, if() jest spełniony, wyświetla dokładnie to co jest w bazie.
Wczesniej działało mi wczytanie menu.php ale ten skrypt co jest w obecnym pliku index.php był rozdzielony na dwa poniżej:

index.php
  1. <TITLE>Strona logowania</TITLE>
  2. <STYLE tpye="text/css">
  3. #login {text-align:center;}
  4. </HEAD>
  5.  
  6. <div>
  7. <form id="login" method="post" action="authorization.php">
  8. <p>Username: <input type="text" name="username"></p>
  9. <p>Password: <input type="password" name="pass"></p>
  10. <p><input type="submit" name="Submit" value="Login"></p>
  11. </form>
  12. </div>
  13. </body>
  14. </html>


authorization.php
  1. <HTML>
  2. <HEAD>
  3. <TITLE>LOGOWANIE</TITLE>
  4. </HEAD>
  5. </BODY>
  6. <?php
  7. $connection=mysql_connect('sever','user','pass')
  8. or die ("Blad polaczenia z serwerem.");
  9. mysql_select_db("db_name");
  10.  
  11. $user=$_POST['username'];
  12. $pass=md5($_POST['pass']);
  13. $query=mysql_query("SELECT pass FROM users WHERE username='$user'");
  14. $wynik=mysql_fetch_array($query);
  15. if ($pass==$wynik[pass])
  16. include("menu.php");
  17. else {
  18. include("index.php");
  19. echo "<center><font size=2 color=red>Incorrect username or password.<br>Please try again.</font></center>";
  20. }
  21.  
  22. ?>
  23. </BODY>
  24. </HTML>
askone
Cytat(XxmanxX @ 14.09.2009, 10:26:45 ) *
<HTML>
<HEAD>
<TITLE>LOGOWANIE</TITLE>
</HEAD>
</BODY>
<?php
$connection=mysql_connect('sever','user','pass')
or die ("Blad polaczenia z serwerem.");
mysql_select_db("db_name");

$user=$_POST['username'];
$pass=md5($_POST['pass']);
$query=mysql_query("SELECT pass FROM users WHERE username='$user'");
$wynik=mysql_fetch_array($query);
if ($pass==$wynik[pass])
include("menu.php");
else {
include("index.php");
echo "<center><font size=2 color=red>Incorrect username or password.<br>Please try again.</font></center>";
}

?>
</BODY>
</HTML>


Hej według mnie masz błąd w linii:

  1. if ($pass==$wynik[pass])

powinno być:
  1. if ($pass==$wynik['pass'])
XxmanxX
Obecna wersja pliku index.php

  1. <HTML>
  2. <HEAD>
  3. <TITLE>Strona logowania</TITLE>
  4. <STYLE type=text/css>
  5. form{text-align:center}
  6. </STYLE>
  7. </HEAD>
  8. <BODY>
  9. <?php
  10. if(empty($_POST['user']) || empty($_POST['pass'])){
  11. echo "<div>";
  12. echo "<form action='index.php' method='POST'>";
  13. echo "<p>Username: <input type='text' name='user' maxlength=10></p>";
  14. echo "<p>Password: <input type='password' name='pass' maxlength=32></p>";
  15. echo "<p><input type='submit' name='login' value='Login'></p>";
  16. echo "</form>";
  17. echo "</div>";
  18. }
  19. else{
  20. $user=addslashes($_POST['user']);
  21. $password=addslashes(md5($_POST['pass']));
  22. $connect = mysql_connect('server','user','pass')
  23. or die('Brak polaczenia z serwerem.<br/>Blad: '.mysql_error());
  24. mysql_select_db('db_name') or die('Error:'.mysql_error());
  25. $query=mysql_query("SELECT * FROM users WHERE (username='$user') and (pass='$password')");
  26. if(mysql_num_rows($query)==1){
  27. include('menu.html');
  28. }
  29. else {
  30. unset($_POST['user']);
  31. unset($_POST['pass']);
  32. include('index.php');
  33. echo "<center><font size=2 color=red>Incorrect username or password.<br>Please try again.</font></center>";
  34. }
  35. }
  36. ?>
  37. </BODY>
  38. </HTML>


Niestety include() dalej nie działa . Jeśli ktoś ma jakiś pomysl co z tym zdziałać to czekam:P
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.