Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> upload pliku po wpisaniu hasła
damianZG
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 24.10.2009

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


Witam!
Mam nadzieje, że temat wpisany jest w odpowiednim miejscu;-)

Mam skrypt do upload'u plików na serwer:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
  2. transitional.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  6. <title>Upload</title>
  7. </head>
  8. <body>
  9.  
  10. <div>
  11. <form enctype="multipart/form-data" action="wyslij.php" method="POST">
  12. <input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
  13. <input name="plik" type="file" />
  14.  
  15. <input type="submit" value="Wyślij" />
  16. </form>
  17. </div>
  18.  
  19. <?php
  20. $plik_tmp = $_FILES['plik']['tmp_name'];
  21. $plik_nazwa = $_FILES['plik']['name'];
  22. $plik_rozmiar = $_FILES['plik']['size'];
  23.  
  24.  
  25. if(is_uploaded_file($plik_tmp))
  26. {
  27. move_uploaded_file($plik_tmp, "pliki/$plik_nazwa");
  28. print("<br>");
  29. print("<br>");
  30. echo "<H2>Plik: <strong>$plik_nazwa</strong> o rozmiarze
  31. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!</H2>";
  32. }
  33. ?>
  34. </body>
  35. </html>
  36.  


ale jest to strona, która nie wymaga logowania więc chciałbym aby upload mógł być zrobiony tylko po wpisaniu hasła. Chciałbym mieć dodatkowe pole na to hasło i dopiero po jego poprawnym wpisaniu mógł nastąpić upload.

Czy mógłby mi ktoś podpowiedzieć jakieś rozwiązanie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
uhutaf
post
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 14.08.2009

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


Kod
<?
if ($_GET['wyloguj'])
{
setcookie('haslo', 'zle');
          print '<FORM ACTION="panel.php" METHOD=POST>';
          print '<TABLE><TR><TD>Użytkownik: </TD><TD><INPUT TYPE="text" ';
          print "NAME=\"uzytkownik\" VALUE=\"".$_POST['uzytkownik']."\"></TD></TR>";
          print '<TR><TD>Hasło: </TD><TD><INPUT TYPE="password" ';
          print 'NAME="haslo"></TD></TR></TABLE>';
          print '<INPUT TYPE="submit" VALUE="Wyślij">';
          print '</FORM>';
          exit;
}
if ($_COOKIE['haslo']!=dobrze)
  {
echo("<p style=\"center\">");
       $hasla = array ('login' => 'haslo', 'login2' => 'haslo2');
        if (($_POST['uzytkownik']) && ($_POST['haslo'])) {
          if ($hasla[$_POST['uzytkownik']] == $_POST['haslo']) {
           setcookie('haslo', 'dobrze');
          } else {
            print ("Wpisano niepoprawne dane o użytkowniku i haśle.<BR>");
            print ('<A HREF="panel.php">Wróć</A> i spróbuj ponownie.');
            exit;
          }
        } else {
          print '<FORM ACTION="panel.php" METHOD=POST>';
          print '<TABLE><TR><TD>Użytkownik: </TD><TD><INPUT TYPE="text" ';
          print "NAME=\"uzytkownik\" VALUE=\"".$_POST['uzytkownik']."\"></TD></TR>";
          print '<TR><TD>Hasło: </TD><TD><INPUT TYPE="password" ';
          print 'NAME="haslo"></TD></TR></TABLE>';
          print '<INPUT TYPE="submit" VALUE="Wyślij">';
          print '</FORM>';
          exit;
        }
echo("</p>");
  }
?>

Tutaj to co chcesz... A na koniec to:
Kod
<a href="panel.php?wyloguj=tak">WYLOGUJ</a>

Działa na cookie. Masz opcję wyloguj, ale to samo da wyłączenie przeglądarki. Jest dość uniwersalny. Na górze możesz podać loginy i hasła, których możesz używać. Drugi kod odpowiedzialny za wylogowywanie nie musi być w znaczniku<? ?> (IMG:style_emoticons/default/winksmiley.jpg) I to tyle (IMG:style_emoticons/default/tongue.gif)



















Trochę to urozmaiciłem (IMG:style_emoticons/default/winksmiley.jpg) :
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<title>Upload</title>
</head>
<body>
<?
if ($_GET['wyloguj'])
{
setcookie('haslo', 'zle');
          print '<FORM ACTION="przeslij.php" METHOD=POST>';
          print '<TABLE><TR><TD>Użytkownik: </TD><TD><INPUT TYPE="text" ';
          print "NAME=\"uzytkownik\" VALUE=\"".$_POST['uzytkownik']."\"></TD></TR>";
          print '<TR><TD>Hasło: </TD><TD><INPUT TYPE="password" ';
          print 'NAME="haslo"></TD></TR></TABLE>';
          print '<INPUT TYPE="submit" VALUE="Wyślij">';
          print '</FORM>';
          exit;
}
if ($_COOKIE['haslo']!=dobrze)
{
echo("<p style=\"center\">");
       $hasla = array ('login' => 'haslo', 'login2' => 'haslo2');
        if (($_POST['uzytkownik']) && ($_POST['haslo'])) {
          if ($hasla[$_POST['uzytkownik']] == $_POST['haslo']) {
           setcookie('haslo', 'dobrze');
          } else {
            print ("Wpisano niepoprawne dane o użytkowniku i haśle.<BR>");
            print ('<A HREF="przeslij.php">Wróć</A> i spróbuj ponownie.');
            exit;
          }
        } else {
          print '<FORM ACTION="przeslij.php" METHOD=POST>';
          print '<TABLE><TR><TD>Użytkownik: </TD><TD><INPUT TYPE="text" ';
          print "NAME=\"uzytkownik\" VALUE=\"".$_POST['uzytkownik']."\"></TD></TR>";
          print '<TR><TD>Hasło: </TD><TD><INPUT TYPE="password" ';
          print 'NAME="haslo"></TD></TR></TABLE>';
          print '<INPUT TYPE="submit" VALUE="Wyślij">';
          print '</FORM>';
          exit;
        }
echo("</p>");
}
?>
<div>
<form enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
<input name="plik" type="file" />
<input type="submit" value="Wyślij" />
</form>
</div>
<?
$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];
if(is_uploaded_file($plik_tmp))
{
move_uploaded_file($plik_tmp, "pliki/$plik_nazwa");
print("<br />");
print("<br />");
echo "<H2>Plik: <strong>$plik_nazwa</strong> o rozmiarze
<strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!</H2>";
}
echo("Pliki znajdujące się w katalogu <u>pliki</u>:<ul>");
if ($a = opendir('pliki')) {
   while (false !== ($file = readdir($a))) {
       if ($file != "." && $file != "..") {
           echo "<li><a href=\"pliki/$file\">$file</a></li>";
       }
   }
   closedir($a);
}
echo("</ul>");
?>
<a href="przeslij.php?wyloguj=tak">WYLOGUJ</a>
</body>
</html>

(IMG:style_emoticons/default/tongue.gif) plik ma nazwę przeslij.php

Ten post edytował uhutaf 26.10.2009, 15:11:41
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 03:39