Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl


dublinka
Napisane: 15.08.2019, 07:53:18





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Cytat(diamondking @ 14.08.2019, 18:35:31 ) *
Znacie jakiś artykuł do poczytania jak to rozwiązać smile.gif?

Poczytaj o funkcjach i zasiegu zmiennych.
  Forum: Przedszkole · Podgląd postu: #1244317 · Odpowiedzi: 5 · Wyświetleń: 297

dublinka
Napisane: 13.08.2019, 04:51:01





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Cytat(andrzejlechniak @ 12.08.2019, 12:00:40 ) *
Pozostaje to, o czym de facto pisałem na początku - odświeżanie strony. Czy można ten skrypt jakoś zabezpieczyć, aby odświeżając stronę trafiać na zablokowaną część?

Ten plik logowania nie powinien wygladac tak jak wyglada. Tuz po zalogowaniu i zarejestrowaniu sesji powinno byc przekierowanie na dana strone (chocby index) Nie powinno sie wyswietlac niczego w takim pliku. On ma sluzyc tylko do zalogowania. Samo wyswietlenie kto jest zalogowany i jaka ma range juz w innych plikach. 'zabezpieczenie' o ktorym piszesz to jeden warunek na samym poczatku sprawadzajacy czy dana sesja istnieje (obojetnie ktora badz ustaw jakas dodatkową jeszcze) Jeśli istnieje od razu header() jesli nie skrypt leci dalej. Ot cale zabezpieczenie.
  Forum: Przedszkole · Podgląd postu: #1244271 · Odpowiedzi: 29 · Wyświetleń: 911

dublinka
Napisane: 11.08.2019, 09:39:04





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

  1. $szukana = 12345;
  2. SELECT id, klucz, wartosc FROM tabela WHERE klucz='$szukana'

W tym momencie wyszuka konkretnie identyczny ciag znakow wystepujacy w kolumnie "klucz"
Zakladam jednoczesnie ze te klucze sa unukalne i nie powielaja sie.
Teraz musisz tylko to wyswietlic.

EDIT.

  1.  
  2. <?php
  3.  
  4.  
  5. function GetValue($server, $username, $password, $database, $table, $szukana)
  6. {
  7.  
  8. $mysqli = new mysqli($server, $username, $password, $database);
  9.  
  10. if ($mysqli->connect_error)
  11. {
  12. die("Błąd połączenia z MySQL: " . $mysqli->connect_error);
  13. }
  14. $stmt = $mysqli->prepare("SELECT klucz, wartosc FROM $table WHERE klucz = ?");
  15. $stmt->bind_param("s", $_POST['szukana']);
  16. $stmt->execute();
  17. $stmt->store_result();
  18. if($stmt->num_rows === 0) echo('Brak wyników');
  19. $stmt->bind_result($klucz, $wartosc);
  20. $stmt->fetch();
  21. echo $content;
  22. $stmt->close();
  23.  
  24. }
  25.  
  26. GetValue('localhost', 'root', 'pass', 'nazwabazy', 'nazwatabeli', @$szukana);
  27.  
  28. ?>
  29.  
  30. <form action="" method=post>
  31. <input type=text name=szukana>
  32. <input type=submit value=szukaj>
  33. </form>
  34.  


Ps. Jesli szukana jest liczbą zmien te linie:
  1. $stmt->bind_param("i", $_POST['szukana']);
  Forum: Przedszkole · Podgląd postu: #1244219 · Odpowiedzi: 4 · Wyświetleń: 358

dublinka
Napisane: 24.07.2019, 11:41:00





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Przyklad ustawienia tabeli:

  1. $sql = "CREATE TABLE nazwatabeli" . "(
  2. id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  3. pole1 VARCHAR(30) COLLATE utf8_unicode_ci NOT NULL,
  4. pole2 VARCHAR(30) COLLATE utf8_unicode_ci NOT NULL
  5. )ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci";


db.php

  1. <?php
  2. const SERVER_NAME = 'localhost';
  3. const SERVER_USERNAME = 'root';
  4. const SERVER_USERNAME_PASSWORD = 'pass';
  5. const SERVER_DATABASE_NAME = 'nazwabazy';
  6. const SERVER_TABLE_NAME = 'nazwatabeli';
  7. ?>


formularz.php


  1. <?php
  2. include_once 'db.php';
  3.  
  4. function PokazForm($server, $username, $password, $database, $table, $name)
  5. {
  6.  
  7. $mysqli = new mysqli($server, $username, $password, $database);
  8.  
  9. if ($mysqli->connect_error)
  10. {
  11. return ("Błąd połączenia z MySQL: " . $mysqli->connect_error);
  12. }
  13.  
  14. $sql = "SELECT `id`, `pole1`, `pole2` FROM $table WHERE pole1='$name'";
  15.  
  16. $result = $mysqli->query($sql);
  17.  
  18.  
  19. if ($result->num_rows > 0)
  20. {
  21.  
  22. echo "<form method=post action=\"index.php\">";
  23.  
  24.  
  25. while($row = $result->fetch_assoc())
  26. {
  27.  
  28. echo "<input type=\"hidden\" value=\"" . $row['id'] . "\" name=\"id\">";
  29. echo "<input name=\"pole1\" value=\"" . $row['pole1'] . "\"><br>";
  30. echo "<input name=\"pole2\" value=\"" . $row['pole2'] . "\"><p>";
  31.  
  32. }
  33.  
  34. echo "<input type=\"submit\" value=\"dalej\"></form>";
  35.  
  36.  
  37.  
  38. } else
  39. {
  40.  
  41. print "Znaleziono: 0 wpisów";
  42.  
  43. }
  44.  
  45. $mysqli->close();
  46.  
  47.  
  48.  
  49.  
  50. }
  51.  
  52.  
  53. PokazForm(SERVER_NAME, SERVER_USERNAME, SERVER_USERNAME_PASSWORD, SERVER_DATABASE_NAME, SERVER_TABLE_NAME, 'tresc pola 1'); // 'tresc pola 1' jest to string ktory bedzie porownywany z wartoscia z tabeli w zapytaniu WHERE
  54.  
  55. ?>



index.php // update

  1. <?php
  2. include_once 'db.php';
  3.  
  4. function update($server, $username, $pass, $dbname, $tablename, $pole1, $pole2, $id)
  5. {
  6.  
  7. $mysqli = new mysqli($server, $username, $pass, $dbname);
  8.  
  9. if ($mysqli->connect_error)
  10. {
  11. return ("Błąd połączenia: " . $mysqli->connect_error);
  12. }
  13.  
  14. $pole1 = $mysqli->real_escape_string($pole1);
  15. $pole2 = $mysqli->real_escape_string($pole2);
  16. $id = $mysqli->real_escape_string($id);
  17. $id = (int)$id;
  18.  
  19. if ($stmt = $mysqli->prepare("UPDATE $tablename SET pole1 = ?, pole2 = ? WHERE id = ?"))
  20. {
  21. $stmt->bind_param('ssi', $pole1, $pole2, $id);
  22.  
  23. $stmt->execute();
  24. $stmt->close();
  25. $mysqli->close();
  26.  
  27. exit('zaktualizowano');
  28. }
  29.  
  30. else {
  31.  
  32.  
  33. exit('blad aktualizacji');
  34.  
  35.  
  36. }
  37.  
  38. }
  39.  
  40. update(SERVER_NAME, SERVER_USERNAME, SERVER_USERNAME_PASSWORD, SERVER_DATABASE_NAME, SERVER_TABLE_NAME, $_POST['pole1'], $_POST['pole2'], $_POST['id']);
  41.  
  42. ?>


Nalezaloby to wszystko zrobic na jednej sesji ktora trzebaby sprawdzic przed samą aktualizacja; jesli istnieje to przekierowac do pliku z formularzem i na samym jego poczatku usunac ja. Sama sesje ustawic tuz przed wyswietleniem informacji o zaktualizowaniu.
To ochroni przed dodawaniem danych przy odswierzeniu strony.

czyli:

  1. <?php
  2.  
  3. include_once 'db.php';
  4.  
  5. function PokazForm($server, $username, $password, $database, $table, $name)
  6. {
  7.  
  8. if(isset($_SESSION['odswierzenie']))
  9. {
  10.  
  11. unset($_SESSION['odswierzenie']);
  12.  
  13. }
  14.  
  15. $mysqli = new mysqli($server, $username, $password, $database);
  16.  
  17. if ($mysqli->connect_error)
  18. {
  19. return ("Błąd połączenia z MySQL: " . $mysqli->connect_error);
  20. }
  21.  
  22. $sql = "SELECT `id`, `pole1`, `pole2` FROM $table WHERE pole1='$name'";
  23.  
  24. $result = $mysqli->query($sql);
  25.  
  26.  
  27. if ($result->num_rows > 0)
  28. {
  29.  
  30. echo "<form method=post action=\"index.php\">";
  31.  
  32.  
  33. while($row = $result->fetch_assoc())
  34. {
  35.  
  36. echo "<input type=\"hidden\" value=\"" . $row['id'] . "\" name=\"id\">";
  37. echo "<input name=\"pole1\" value=\"" . $row['pole1'] . "\"><br>";
  38. echo "<input name=\"pole2\" value=\"" . $row['pole2'] . "\"><p>";
  39.  
  40. }
  41.  
  42. echo "<input type=\"submit\" value=\"dalej\"></form>";
  43.  
  44.  
  45.  
  46. } else
  47. {
  48.  
  49. print "Znaleziono: 0 wpisów";
  50.  
  51. }
  52.  
  53. $mysqli->close();
  54.  
  55.  
  56.  
  57.  
  58. }
  59.  
  60.  
  61. PokazForm(SERVER_NAME, SERVER_USERNAME, SERVER_USERNAME_PASSWORD, SERVER_DATABASE_NAME, SERVER_TABLE_NAME, 'tresc pola 1');
  62.  
  63. ?>



update

  1. <?php
  2. include_once 'db.php';
  3.  
  4. function update($server, $username, $pass, $dbname, $tablename, $pole1, $pole2, $id)
  5. {
  6.  
  7. if(isset($_SESSION['odswierzenie']))
  8. {
  9.  
  10. header('location: form.php');
  11.  
  12. }
  13.  
  14. $mysqli = new mysqli($server, $username, $pass, $dbname);
  15.  
  16. if ($mysqli->connect_error)
  17. {
  18. return ("Błąd połączenia: " . $mysqli->connect_error);
  19. }
  20.  
  21. $pole1 = $mysqli->real_escape_string($pole1);
  22. $pole2 = $mysqli->real_escape_string($pole2);
  23. $id = $mysqli->real_escape_string($id);
  24. $id = (int)$id;
  25.  
  26. if ($stmt = $mysqli->prepare("UPDATE $tablename SET pole1 = ?, pole2 = ? WHERE id = ?"))
  27. {
  28. $stmt->bind_param('ssi', $pole1, $pole2, $id);
  29.  
  30. $stmt->execute();
  31. $stmt->close();
  32. $mysqli->close();
  33.  
  34. $_SESSION['odswierzenie'] = '1';
  35.  
  36. exit('zaktualizowano');
  37. }
  38.  
  39. else {
  40.  
  41.  
  42. exit('blad aktualizacji');
  43.  
  44.  
  45. }
  46.  
  47. }
  48.  
  49. update(SERVER_NAME, SERVER_USERNAME, SERVER_USERNAME_PASSWORD, SERVER_DATABASE_NAME, SERVER_TABLE_NAME, $_POST['pole1'], $_POST['pole2'], $_POST['id']);
  50.  
  51. ?>
  Forum: Przedszkole · Podgląd postu: #1243784 · Odpowiedzi: 5 · Wyświetleń: 246

dublinka
Napisane: 22.07.2019, 16:55:43





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

https://stackoverflow.com/questions/3781068...ml-array-in-php
  Forum: PHP · Podgląd postu: #1243743 · Odpowiedzi: 2 · Wyświetleń: 285

dublinka
Napisane: 16.07.2019, 07:06:35





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Brak plikow config i header

a to to juz jest masakra

  1. if ($_POST) {


Nie wiadomo co jest w tamtych plikach.


Ogolnie to powinienes wklejac tutaj kod a nie linki do plikow bo za jakis czas albo Ty je usuniesz albo usluga wrzucania plikow bedzie niedostepna i caly ten temat bedzie bez sensu.

Jesli uzywasz czyjes rozwiazanie to podawaj je bez zbednych Twoich dupereli bo nikomu nie chce sie przechodzic przes setlki linii nie zwiazanych z konkretem.

Wogole po tym odwolaniu sie do tablicy to bym sie zastanowil nad zmiana na cos innego. Zreszta zaloze sie (widzac tylko kawalek) ze tez zadnego boindowania tam nie ma.
  Forum: PHP · Podgląd postu: #1243574 · Odpowiedzi: 4 · Wyświetleń: 217

dublinka
Napisane: 24.06.2019, 14:32:29





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Masz ta mtroche namieszane chocby z tymi selectami. Jedno zamkniete drugie gdzies poniżej zamykane ktorego nie otwierales wczesniej.
Musisz to zrobic na 2 krokach. Ten klucz z pierwszej tabeli ma byc przekazany do drugiej ?

Mozna zrobic to tak np:
  1. <?php
  2.  
  3.  
  4. function PokazForm($server, $username, $password, $database, $table1)
  5. {
  6.  
  7. $mysqli = new mysqli($server, $username, $password, $database);
  8.  
  9. if ($mysqli->connect_error)
  10. {
  11. die("Błąd połączenia z MySQL: " . $mysqli->connect_error);
  12. }
  13.  
  14.  
  15.  
  16. $sql = "SELECT `id_kontrahent`, `nazwa_kontrahent` FROM $table1";
  17. $result = $mysqli->query($sql);
  18.  
  19.  
  20.  
  21. if ($result->num_rows > 0)
  22. {
  23.  
  24. echo "<form method=post action=" . $_SERVER['SCRIPT_NAME'] . "?s=2>";
  25. echo "<select name=\"wybor\">";
  26.  
  27. while($row = $result->fetch_assoc())
  28. {
  29.  
  30. echo "<option value=" . $row['id_kontrahent'] . "|" . $row['nazwa_kontrahent'] . ">" . $row['nazwa_kontrahent'] . "</option>";
  31.  
  32. }
  33.  
  34. echo "<input type=\"submit\" name=\"dodaj\" value=\"Dodaj\">";
  35. echo "</select></form>";
  36.  
  37.  
  38. } else
  39. {
  40.  
  41. print "Znaleziono: 0 wpisów";
  42.  
  43. }
  44.  
  45. $mysqli->close();
  46.  
  47.  
  48.  
  49.  
  50. }
  51.  
  52.  
  53.  
  54. function Dodaj($server, $username, $password, $database, $table2, $selected)
  55. {
  56.  
  57. $mysqli = new mysqli($server, $username, $password, $database);
  58.  
  59. $selected = htmlspecialchars($selected);
  60. $selected = $mysqli->real_escape_string($selected);
  61.  
  62. $ex = explode('|', $selected);
  63.  
  64. if ($stmt = $mysqli->prepare("INSERT INTO $table2" . " (id_przetarg, zamawiajacy) VALUES ( ?, ? )"))
  65. {
  66.  
  67. $stmt->bind_param('is', $ex[0], $ex[1]);
  68.  
  69.  
  70. $stmt->execute();
  71. $stmt->close();
  72. $mysqli->close();
  73.  
  74. exit('dodano nowa wartosc do nowej tabeli');
  75.  
  76. }
  77.  
  78. else {
  79.  
  80. exit("blad zapisu");
  81.  
  82. }
  83.  
  84. }
  85.  
  86.  
  87. (isset($_GET['s'])) ? $_GET['s'] = $_GET['s'] : $_GET['s'] = '1';
  88.  
  89. $s = $_GET['s'];
  90.  
  91. switch($s):
  92.  
  93. case('1'):
  94.  
  95. PokazForm('localhost', 'root', 'pass', 'przetargi', 'kontrahent');
  96.  
  97. break;
  98.  
  99.  
  100. case('2'):
  101.  
  102. Dodaj('localhost', 'root', 'pass', 'przetargi', 'lista_przetarg', $_POST['wybor']);
  103.  
  104. break;
  105. default:
  106. header('location: ' . $_SERVER['SCRIPT_NAME'] . '?s=1');
  107. break;
  108. endswitch;
  109.  
  110.  
  111.  
  112. ?>


Ogolnie nie powinno sie wyswietlac ID z tabeli nigdzie. W tym przykladzie jest doklejony do pola option ale mozna byloby to zrobic na sesji tez
  Forum: Przedszkole · Podgląd postu: #1242930 · Odpowiedzi: 3 · Wyświetleń: 182

dublinka
Napisane: 28.05.2019, 07:29:28





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Przecuez to mozna na jednej tabeli zrobic.
  Forum: Przedszkole · Podgląd postu: #1241945 · Odpowiedzi: 4 · Wyświetleń: 314

dublinka
Napisane: 24.05.2019, 10:01:38





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Zeby być pewnym zrob drugi plik .css i wstaw tam ten kod ktorego nie widac.
Czasami bywa tak (przy częstych zmianach), ze trzeba czyścic cache przegladarki. Sprawdz i to
  Forum: Przedszkole · Podgląd postu: #1241807 · Odpowiedzi: 6 · Wyświetleń: 213

dublinka
Napisane: 19.05.2019, 11:46:23





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Cytat(miccom @ 18.05.2019, 13:43:42 ) *
Ja jadłem popcorn jak Nospor tłumaczył Ci zasadę stronicowania smile.gif

Do tego niezła komedia smile.gif

Taaa ... Idz lepoiej dziecko poucz sie bo jutro klasówka biggrin.gif

Nie wiem jaka masz strukture w bazie więc podam Ci przykład logowania dla wielu userów z wyk. tablicy pomocniczej.
Zamiast tego musisz pobrac sobie dane z bazy. 2 pliki z czego drugi nazywa sie 'gdziestam.php'

  1. <?php
  2.  
  3.  
  4. $AllDetails = array (
  5.  
  6. 'janek' => array('login' => 'janek', 'pass' => 'haslojanka'),
  7. 'franek' => array('login' => 'tomek', 'pass' => 'haslotomka'),
  8. 'admin' => array('login' => 'admin', 'pass' => 'hasloadmina')
  9.  
  10. );
  11.  
  12.  
  13.  
  14.  
  15.  
  16. if(!function_exists('LogIn'))
  17. {
  18.  
  19. function LogIn($ArgObj1)
  20. {
  21.  
  22. $ArgObj1 = "<form method=\"POST\" action=" . $_SERVER['SCRIPT_NAME'] . "?step=1>";
  23. $ArgObj1 .= "login: <input type=\"text\" name=\"LoginName\">";
  24. $ArgObj1 .= "Hasło: <input type=\"password\" name=\"PasswordName\">";
  25. $ArgObj1 .= "<input type=\"submit\" value=\"Loguj sie\" name=\"input\">";
  26. $ArgObj1 .= "</form>";
  27.  
  28. return $ArgObj1;
  29.  
  30. }
  31.  
  32. }
  33.  
  34. if(!function_exists('ShowLogOutLinkAndDetails'))
  35. {
  36.  
  37. function ShowLogOutLinkAndDetails($sess)
  38. {
  39.  
  40. return ($sess == 1) ? $sess . "<a href=" . $_SERVER['SCRIPT_NAME']. "?step=2>Wyloguj</a>" : $sess . "<a href=" . $_SERVER['SCRIPT_NAME']. "?step=2>Wyloguj</a>";
  41.  
  42. }
  43.  
  44. }
  45.  
  46.  
  47.  
  48. @$step = $_GET['step'];
  49.  
  50. (!isset($step)) ? $step = 0 : $step = $step;
  51.  
  52. switch($step):
  53.  
  54. case('0'):
  55.  
  56. if(isset($_SESSION['user']['login']))
  57. {
  58.  
  59. print ShowLogOutLinkAndDetails($_SESSION['user']['login']);
  60.  
  61.  
  62. } else {
  63.  
  64. echo LogIn($ArgObj1 = true);
  65.  
  66. }
  67.  
  68. break;
  69.  
  70. case('1'):
  71.  
  72. $submit = $_POST['input'];
  73. $LoginName = $_POST['LoginName'];
  74. $PasswordName = $_POST['PasswordName'];
  75.  
  76. if(isset($_SESSION['user']['login']))
  77. {
  78.  
  79. print ShowLogOutLinkAndDetails($_SESSION['user']['login']);
  80.  
  81.  
  82. } else {
  83.  
  84.  
  85. if($submit)
  86. {
  87. if( (trim($LoginName) != '') || (trim($PasswordName) != '') )
  88. {
  89.  
  90. if(isset($AllDetails[$LoginName]['login']) && isset($AllDetails[$LoginName]['pass']))
  91. {
  92. if( ($AllDetails[$LoginName]['login'] == $LoginName ) && ($AllDetails[$LoginName]['pass'] == $PasswordName) )
  93. {
  94.  
  95. if ($_SERVER['REQUEST_METHOD'] === 'POST')
  96. {
  97.  
  98.  
  99. if(session_status() == PHP_SESSION_ACTIVE)
  100. {
  101.  
  102.  
  103.  
  104. if($AllDetails[$LoginForm]['login'] == 'admin')
  105. {
  106.  
  107. $_SESSION['user']['login'] = $AllDetails[$LoginName]['login'];
  108.  
  109.  
  110. header('location: gdziestam.php');
  111.  
  112. } else
  113. {
  114.  
  115. $_SESSION['user']['login'] = $AllDetails[$LoginName]['login'];
  116.  
  117.  
  118. header('location: gdziestam.php');
  119.  
  120. }
  121.  
  122.  
  123.  
  124. } else {
  125.  
  126. header('location:' . $_SERVER['SCRIPT_NAME']);
  127.  
  128. }
  129.  
  130.  
  131. }
  132.  
  133.  
  134. } else {
  135.  
  136. exit("Dane są nieprawidłowe <a href=". $_SERVER['SCRIPT_NAME'] .">WSTECZ</a>");
  137. }
  138. } else {
  139. header('location:' . $_SERVER['SCRIPT_NAME']);
  140. }
  141. }else {
  142.  
  143. exit('Prosze wypelnic pola');
  144.  
  145. }
  146. } else {
  147.  
  148. exit("błąd");
  149.  
  150. }
  151. }
  152.  
  153. break;
  154.  
  155. case('2'):
  156.  
  157. unset($_SESSION['user']['login']);
  158.  
  159.  
  160. $_SESSION = array();
  161.  
  162. if (ini_get("session.use_cookies"))
  163. {
  164. setcookie(session_name(), '', time() - 3600,
  165. $params["path"], $params["domain"],
  166. $params["secure"], $params["httponly"]);
  167. }
  168.  
  169. header('location:' . $_SERVER['SCRIPT_NAME']);
  170.  
  171. break;
  172.  
  173. default:
  174. header('location:' . $_SERVER['SCRIPT_NAME']);
  175.  
  176.  
  177. endswitch;
  178.  
  179. ?>


gdziestam.php

  1. <?php
  2.  
  3.  
  4. if($_SESSION['user']['login'] == 'user')
  5. {
  6. print 'zawartosc strony dla uzytkownika';
  7. print " <a href=index.php?step=2>Wyloguj</a>";
  8. }
  9. if($_SESSION['user']['login'] == 'admin')
  10. {
  11. print 'zawartosc strony dla admina';
  12. print " <a href=index.php?step=2>Wyloguj</a>";
  13. }
  14.  
  15. ?>
  Forum: Przedszkole · Podgląd postu: #1241651 · Odpowiedzi: 12 · Wyświetleń: 342

dublinka
Napisane: 17.05.2019, 11:36:37





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

  1. <?php
  2.  
  3.  
  4.  
  5. function ReturnRows($ServerName, $UserName, $UserPassword, $DbName, $TableContent, $search)
  6. {
  7.  
  8. $Connection = mysqli_connect($ServerName, $UserName, $UserPassword);
  9.  
  10. if(!$Connection)
  11. {
  12.  
  13. die ('Nie można się polączyć z MySQL : ' . mysqli_connect_error());
  14.  
  15. }
  16.  
  17. $SelectDB = mysqli_select_db($Connection, $DbName);
  18.  
  19. if(!$SelectDB)
  20.  
  21. {
  22.  
  23. print 'Nie mozna polaczyc sie z baza danych ' . mysqli_connect_error();
  24.  
  25. }
  26.  
  27.  
  28.  
  29.  
  30. $sql = "SELECT marka, pistolet FROM $TableContent WHERE marka LIKE '%$search%' OR pistolet LIKE '%$search%'";
  31. $result = mysqli_query($Connection,$sql);
  32.  
  33. if (mysqli_num_rows($result) > 0)
  34. {
  35.  
  36. while($row = mysqli_fetch_assoc($result))
  37. {
  38.  
  39. $TabID[] = $row['marka'];
  40. $TabName[] = $row['pistolet'];
  41.  
  42. }
  43.  
  44.  
  45.  
  46. }
  47.  
  48. mysqli_close($Connection);
  49. $url = $_SERVER['SCRIPT_NAME'];
  50. $wyswietlaj=4;
  51. $ile_linkow=3;
  52. if(isset($TabID) && isset($TabName))
  53. {
  54. array_multisort($TabID, SORT_ASC, $TabName);
  55. }
  56. else{
  57. print 'Brak wynikow<br>';
  58. }
  59. if(empty($_GET['czytaj']))
  60. {
  61. $czytaj=0;
  62. }
  63. else{
  64. $czytaj=$_GET['czytaj'];
  65. }
  66. if(empty($_GET['dalej']))
  67. {
  68. $dalej=1;
  69. }
  70. else{
  71. $dalej=$_GET['dalej'];
  72. }
  73. if(isset($_GET['czytaj']))
  74. {
  75. $nr=$_GET['czytaj'];
  76. }
  77. if(empty($_GET['czytaj'])){
  78. $nr=0;
  79. }
  80.  
  81. $u=1;
  82. for($i=$czytaj;$i<$czytaj+$wyswietlaj;$i++)
  83. {
  84.  
  85. if(!empty($TabID[$i]))
  86. {
  87.  
  88.  
  89. print 'Marka: '.$TabID[$i].'<br>';
  90. print 'Pistolet: '.$TabName[$i].'<p>';
  91.  
  92. }
  93. }
  94. $out="";
  95. for($i=$dalej;$i<$dalej+$ile_linkow;$i++)
  96. {
  97. $k=($i-1)*$wyswietlaj;
  98. if($k<count(@$TabID))
  99. {
  100. if($k==$czytaj)
  101. {
  102. $out.=" [$i] ";
  103. }
  104. else{
  105. $out.=" <a href=\"$url?&czytaj=$k&dalej=$dalej\">[$i]</a> ";
  106. }
  107. }
  108. }
  109. if($dalej>1)
  110. {
  111. $cz=($dalej-1)*$wyswietlaj-$wyswietlaj;
  112. $dal=$dalej-$ile_linkow;
  113. print " <a href=\"$url?czytaj=$cz&dalej=$dal\"><<<</a>";
  114. }
  115. else{
  116. print " <<< ";
  117. }
  118. print $out;
  119. if($k+$wyswietlaj<count(@$TabID))
  120. {
  121. $cz=$k+$wyswietlaj;
  122. $dal=$dalej+$ile_linkow;
  123. print " <a href=\"$url?czytaj=$cz&dalej=$dal\">>>></a> ";
  124. }
  125. else{
  126. print " >>>";
  127. }
  128.  
  129.  
  130. }
  131.  
  132.  
  133.  
  134. ReturnRows('localhost', 'root', 'pwdi', 'militaria', 'giwery', 'costam');
  135. // 'server', 'user', 'pass', 'nazwa bazy', 'nazwa tabeli', 'szukana fraza')
  136.  
  137. ?>
  Forum: Przedszkole · Podgląd postu: #1241598 · Odpowiedzi: 31 · Wyświetleń: 817

dublinka
Napisane: 15.05.2019, 20:42:57





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Cytat(maniana7 @ 15.05.2019, 20:56:30 ) *
Tzn?questionmark.gif Wpisuję co chcę i przechodzi. Alert o znalezionych błędach jest tylko gdy pole jest puste/wyspacjowane. Wystarczy walnąć w dowolne pole (oprócz rzecz jasna kodu pocztowego bo to zabezpieczyłem przed głupotami) kropkę i idzie formularz na mejla w stylu:
Imię: . . ..
Nazwisko: 8-)
Kod: 00-100
Miejscowość: tralala ..

Kropka to nie spacja czy tabulator. To są tzw białe znaki. Reszta wpisywana z klawiatury jest normalnym znakiem. Miales problem z pustymi wartosciami ktore byly przesylane na mejla a to czy ktos Ci wpisze w pole MIASTO = blablabla to juz od tego sie nie uchronisz bo musialbys miec jakas tablice wszystkich miast, miejscowosci, wsi etc i pozwlaac tylko z tych.
Jesli chcesz filtrowac względem dozwolonych znaków to trzeba filtrowac po tym przykladzie ktory podalem. On sprawdza CZY COS ZOSTAŁO WYSŁANE lub jak kto woli czy POLA FORMULARZA NIE ZOSTAŁY WYSŁANE PUSTE.
Do pustych nie nalezą kropki czy inne znaki. Puste sa to białe znaki. Jesli przyklad nie wychwyci nic znaczy sie ze pola formularza zostaly wypelnione.


To przykład ktory sprawdzi czy pole zawiera TYLKO male litery i liczby - reszta jest niedozwolona

  1. <?php
  2. $co = "login---";
  3. if(preg_match('/[^0-9a-z]/i',$co))
  4. {
  5. exit('Wystepuja nieprawidlowe znaki');
  6. }
  7.  
  8. print 'Dalsza czesc strony jesli ok';
  9. ?>


W podobny sposob mozesz dodawac znaki ktore moga byc akceptowane jak rowniez dlugosc minimalna i maksymalna.
W tym przypadku akceptowane sa:
Male litery
Liczby
Znak podkreslenia
Kropka
Minimalna dlugosc 6 a max 15 znakow

  1. <?php
  2. $co = "logi99._-";
  3. if(!preg_match("/^[a-z0-9_.]{6,15}$/", $co))
  4. {
  5. exit('Wystepuja nieprawidlowe znaki. Minimalna liczba znakow to 6 a max to 15');
  6. }
  7.  
  8. print 'Dalsza czesc strony jesli ok';
  9. ?>
  Forum: Przedszkole · Podgląd postu: #1241540 · Odpowiedzi: 51 · Wyświetleń: 1 375

dublinka
Napisane: 15.05.2019, 16:17:17





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Cytat(maniana7 @ 15.05.2019, 16:36:30 ) *
Odnośnie buttona WYŚLIJ to mam w htmlu coś takiego:

<button name="wysylam"><b>WYSLIJ</b>
</button> </div>

Jak to pozmieniać?

No to zmien na input. Jaki problem.

Wywal button i wstaw to

  1. <input type="submit" name="submit" value="dalej">


Albo zostaw button tylko dodaj do buttona wartosc.

  1. <button type="submit" name="submit" value="byleco">Dalej</button>


Noi i co. Działa ?
  Forum: Przedszkole · Podgląd postu: #1241372 · Odpowiedzi: 51 · Wyświetleń: 1 375

dublinka
Napisane: 15.05.2019, 15:06:28





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Cytat(nospor @ 15.05.2019, 15:11:31 ) *
Z twojego posta wynikalo, ze chodzilo rowniez o parametry, ktore podal maniana. Grzecznie wiec sprostowalem twoje slowa.

Moze rzeczywiscie malo precyzyjne to nbylo

Cytat(maniana7 @ 15.05.2019, 15:36:29 ) *
Dobra to zabieram się za rady Dublinki. Chłopaki dzięki za wyrozumiałość i cierpliwość.

Dublinka, zrobiłem jak napisałeś. Przy próbie wysłania wywala błąd w 15 linii:
Parse error: syntax error, unexpected ''telefon'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in /mój adres/skrypt.php on line 15

Początek pliku php wygląda jak należy:

<?php

if(!isset($_POST['submit']))
{

exit('wystąpił błąd');


}

$ArrInfo = array('imie' => 'Wypelnij pole: imie',
'ulica' => 'Wypelnij pole: ulica',
'kod' => 'Wypelnij pole: kod',
'wiek' => 'Wypelnij pole: miejscowosc'
'telefon' => 'Wypelnij pole: telefon'
);

unset($submit);

Zwroc uwage na konstrukcje tablicy. Po kazdym kluczu i jego wartosci jest przeinek. Ostatni klucz ma byc bez przecinka
  Forum: Przedszkole · Podgląd postu: #1241367 · Odpowiedzi: 51 · Wyświetleń: 1 375

dublinka
Napisane: 15.05.2019, 14:06:33





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

To co masz czyli:

  1. $do = 'mojmejl@pocztaxxxxxxx.pl';
  2. $imię = $_POST['imię'];
  3. $ulica = $_POST['ulica'];
  4. $kod = $_POST['kod'];
  5. $miejscowosc = $_POST['miejscowosc'];
  6. $telefon = $_POST['telefon'];
  7. $k01 = $_POST['01'];
  8. $k02 = $_POST['02'];
  9. $k03 = $_POST['03'];
  10. $k04 = $_POST['04'];
  11. $k05 = $_POST['05'];
  12.  
  13. $tresc .= "Imię:".$imię."\n\n";
  14. $tresc .= "Ulica: ".$ulica."\n\n";
  15. $tresc .= "Kod: ".$kod."\n\n";
  16. $tresc .= "Miejscowość: ".$miejscowosc."\n\n";
  17. $tresc .= "Telefon: ".$telefon."\n\n";
  18. $tresc .= "biały: ".$k01."\n\n";
  19. $tresc .= "czarny: ".$k02."\n\n";
  20. $tresc .= "niebieski: ".$k03."\n\n";
  21. $tresc .= "zielony: ".$k04."\n\n";
  22. $tresc .= "czerwony: ".$k05."\n\n";
  23. @mail($do, 'ankieta', $tresc, "MIME-Version: 1.0\r\n"."Content-type: text/plain; charset=ISO-8859-2\r\n"."From: $mail\r\n");
  24. header('Location: [url="http://www.mojastrona.pl/dziekuję.html&#39%3b%29;"]http://www.mojastrona.pl/dziekuję.html');[/url]
  25. echo $tresc;


Daj tam gdzie wstawilem informacje na samym dole a na samym poczatku to co ja dalem.

  1.  
  2. if(!isset($_POST['submit']))
  3. {
  4.  
  5. exit('wystąpił błąd');
  6.  
  7.  
  8. }
  9.  
  10. $ArrInfo = array('login' => 'Wypelnij pole: login',
  11. 'haslo' => 'Wypelnij pole: haslo',
  12. 'plec' => 'Wypelnij pole: plec',
  13. 'wiek' => 'Wypelnij pole: wiek'
  14. );
  15.  
  16. unset($submit);
  17. $myPostArgs = filter_input_array(INPUT_POST);
  18. $return = array();
  19. foreach($myPostArgs as $ParamsKey => $ParamsValue)
  20. {
  21.  
  22. if(trim($ParamsValue) == "")
  23. {
  24.  
  25. $return[] = $ArrInfo[$ParamsKey];
  26.  
  27. $match = true;
  28.  
  29.  
  30. }
  31.  
  32. }
  33.  
  34.  
  35. if(isset($match))
  36. {
  37. print 'Znaleziono błędy: <br>';
  38.  
  39. for($i=0; $i<count($return); $i++)
  40. {
  41.  
  42. print ($return[$i] . '<br>');
  43.  
  44. }
  45.  
  46. }
  47.  
  48. // teraz tu co Ty masz tylko pamietaj ze musisz pododawac do tablicy wartosci jakie masz czyli nazwa pola z formularza i wartosc jaka sie wyswietli jesli błąd. Rowniez nazwij swoj input name=submit
  49.  
  50.  
  51.  


  1. $ArrInfo = array('login' => 'Wypelnij pole: login',
  2. 'haslo' => 'Wypelnij pole: haslo',
  3. 'plec' => 'Wypelnij pole: plec',
  4. 'wiek' => 'Wypelnij pole: wiek'
  5. );


login, haslo, plec, wiek -> to sa nazwy z pol tekstowych formularza. Pozmieniaj/.dodaj swoje

Cytat(nospor @ 15.05.2019, 15:01:17 ) *
@dublinka akurat te parametry nie sa obslugiwane przez js wiec wylaczenie JS nie wplynie na ich zachowanie. Nie mniej jednak jak juz mowilem mozna je bez problemu ominac/usunac. Mozna tez wyslac formularz bez przegladarki

Mnie ogolnie chodzilo o blokowanie przez js
  Forum: Przedszkole · Podgląd postu: #1241362 · Odpowiedzi: 51 · Wyświetleń: 1 375

dublinka
Napisane: 5.05.2019, 18:28:01





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Musisz podczas rejestracji sesji i podczas odczytu zawsze miec ten sam protokól. Nie mozesz rejestrowac sesji na http a potem chciec ja czytac na https
  Forum: Przedszkole · Podgląd postu: #1240545 · Odpowiedzi: 4 · Wyświetleń: 220

dublinka
Napisane: 5.05.2019, 12:44:00





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Date do nazwy czy jak.

Jesli do nazwy to doklej timestamp a podczas odczytu sformatuj.
  Forum: Przedszkole · Podgląd postu: #1240527 · Odpowiedzi: 7 · Wyświetleń: 249

dublinka
Napisane: 4.05.2019, 13:08:25





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Cytat(viking @ 4.05.2019, 09:33:41 ) *
Akurat kod z echo jest ok wink.gif

Nio tak. Zapomnialem o małych różnicach pomiędzy echo i print :/


Kolego! heloo ? did you solved you probs questionmark.gif?
  Forum: PHP · Podgląd postu: #1240508 · Odpowiedzi: 24 · Wyświetleń: 824

dublinka
Napisane: 4.05.2019, 08:49:10





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Cytat(Nidan23 @ 3.05.2019, 17:16:15 ) *
Miałeś rację, co do sesji, ale to nie wyjaśnia, dlaczego nie mogę dać inputa i formularza jako echo.

Skąd wiem, że miałeś rację? Bo to działa:

  1. $kom = "";
  2. if(!isSet($_SESSION['zalogowany'])){
  3. $_SESSION['komunikat'] = "Nie jesteś zalogowany!";
  4. echo $_SESSION['komunikat'], "<br>";
  5. echo "<br>","Aby widzieć tę stronę musisz być zalogowany", "</font>", "</b>", "<br>", "</div>";
  6. echo file_get_contents('sklad/footer.php');
  7. exit();
  8. }

Jak to dziala to ja jestem Świety Mikołaj. Zamiast kropek jako "łączników" dajesz przecinki. Przeanalizuj sobie ten pzyklad ktory podalem.

Podaj ten kod ktory masz ale wszystko to co wazne.

Ten mój przykład pisałem zbyt szybko i zrobilem kilka bledow. Min: zamiast dac unset na sesje dalem na zmienna ktora notabene juz nie istniala biggrin.gif Drugie to dodanie wznej rzeczy jaka jest zmiana identyfikatora sesji którą to nalezy zawsze dac przed i po rejestracji sesji. Trzecia sprawa dotyczy samego usunięcia sesji.

  1. <?php
  2.  
  3. $Log = 'asd'; // dane do zalogowania login
  4. $Pwd = 'pwd'; // dane do zalogowania Hasło
  5.  
  6. if(!function_exists('LogIn'))
  7. {
  8.  
  9. function LogIn($ArgObj1)
  10. {
  11.  
  12. $ArgObj1 = "<form method=\"POST\" action=" . $_SERVER['SCRIPT_NAME'] . "?step=1>";
  13. $ArgObj1 .= "login: <input type=\"text\" name=\"LoginName\">";
  14. $ArgObj1 .= "Hasło: <input type=\"password\" name=\"PasswordName\">";
  15. $ArgObj1 .= "<input type=\"submit\" value=\"Loguj sie\" name=\"input\">";
  16. $ArgObj1 .= "</form>";
  17.  
  18. return $ArgObj1;
  19.  
  20. }
  21.  
  22. }
  23.  
  24. if(!function_exists('ShowLogOutLinkAndDetails'))
  25. {
  26.  
  27. function ShowLogOutLinkAndDetails($sess)
  28. {
  29.  
  30. return "Witaj: " . $sess . "<br><a href=" . $_SERVER['SCRIPT_NAME'] . "?step=2>Wyloguj</a>";
  31.  
  32. }
  33.  
  34. }
  35.  
  36.  
  37.  
  38. @$step = $_GET['step'];
  39.  
  40. (!isset($step)) ? $step = 0 : $step = $step;
  41.  
  42. switch($step):
  43.  
  44. case('0'):
  45.  
  46. if(isset($_SESSION['user']['login']))
  47. {
  48.  
  49. print ShowLogOutLinkAndDetails($_SESSION['user']['login']);
  50.  
  51.  
  52. } else {
  53.  
  54. echo LogIn($ArgObj1 = true);
  55.  
  56. }
  57.  
  58. break;
  59.  
  60. case('1'):
  61.  
  62. $submit = $_POST['input'];
  63. $LoginName = $_POST['LoginName'];
  64. $PasswordName = $_POST['PasswordName'];
  65.  
  66. if(isset($_SESSION['user']['login']))
  67. {
  68.  
  69. print ShowLogOutLinkAndDetails($_SESSION['user']['login']);
  70.  
  71.  
  72. } else {
  73.  
  74.  
  75. if($submit)
  76. {
  77.  
  78. if(($LoginName == $Log) && ($PasswordName == $Pwd))
  79. {
  80.  
  81. if ($_SERVER['REQUEST_METHOD'] === 'POST')
  82. {
  83.  
  84.  
  85. if(session_status() == PHP_SESSION_ACTIVE)
  86. {
  87.  
  88.  
  89. $_SESSION['user']['login'] = $LoginName;
  90. $_SESSION['user']['password'] = $PasswordName;
  91.  
  92.  
  93. header('location:' . $_SERVER['SCRIPT_NAME']);
  94.  
  95. }
  96.  
  97.  
  98. }
  99.  
  100.  
  101. } else {
  102.  
  103. exit("Dane są nieprawidłowe <a href=". $_SERVER['SCRIPT_NAME'] .">WSTECZ</a>"); // nigdy nie podawaj przyczyny bledu chyba ze to bedzie blad loginu czy hasla
  104. }
  105.  
  106. } else {
  107.  
  108. exit("error 001"); // nigdy nie podawaj przyczyny bledu ; error 001 jest jak nie zostaje wyslany formularz
  109.  
  110. }
  111. }
  112.  
  113. break;
  114.  
  115. case('2'):
  116.  
  117. unset($_SESSION['user']['login']);
  118. unset($_SESSION['user']['password']);
  119.  
  120. $_SESSION = array();
  121. if (ini_get("session.use_cookies")) {
  122. setcookie(session_name(), '', time() - 42000,
  123. $params["path"], $params["domain"],
  124. $params["secure"], $params["httponly"]);
  125. }
  126.  
  127. header('location:' . $_SERVER['SCRIPT_NAME']);
  128.  
  129. break;
  130.  
  131. default:
  132. header('location:' . $_SERVER['SCRIPT_NAME']);
  133.  
  134.  
  135. endswitch;
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150. ?>
  Forum: PHP · Podgląd postu: #1240501 · Odpowiedzi: 24 · Wyświetleń: 824

dublinka
Napisane: 27.03.2019, 15:51:43





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Cytat(TimeMaster @ 27.03.2019, 14:16:13 ) *
Sprawdzam IP z sesji i ze zmienną SERVER by uniknąć wykradania sesji. Wystarczy na tym forum wejść w narzędzie 'zbadaj element', zakładka DANE (w FF, nie wiem jak w innych) i mamy forum_session_id... Teraz na nieogarniającej nic osobie można za pomocą phishingu wyłudzić id sesji i użyć jej w hijackingu - stąd zabezpieczenie sprawdzające IP zapisane w sesji i IP użytkownika. Teraz pytanie, czy jest to jakiekolwiek zabezpieczenie (dla amatorów najpewniej tak). Nie potrzebuję zabezpieczeń rodem z aplikacji bankowych, wolę być świadomy i w jakimś stopniu przygotowany. Raczej nie spodziewam się, że przechowywane dane będą łakomym kąskiem. Jednak będę spał spokojniej, wiedząc, że hacker zrezygnował z wydobycia danych przez stronę/serwer/bazę i stwierdził, że łatwiej będzie je wyciągnąć bezpośrednio od użytkownika.


https://stackoverflow.com/questions/1223340...ssion-hijacking

tutaj ma sz mysle wystarczajace wyjasnienie. Jest napisane ze myki z ip nie sa dobrym rozwiazaniem. Po pierwsze IP sa teraz w wiekszosci dynamiczne.
  Forum: Przedszkole · Podgląd postu: #1239757 · Odpowiedzi: 10 · Wyświetleń: 398

dublinka
Napisane: 29.10.2011, 18:32:37





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

To tylko przyklad.Nie bedzie dzialac bo to robione bylo troche temu a strona zmienila sie i nie ma tam tych tagów.Pozmieniaj i powinno smigac

  1. <?
  2. $file = fopen("http://www.gazeta.pl", "r");
  3. if($file) {
  4. $pogoda = fread($file, 5000);
  5. $pogoda = substr($pogoda, 3000);
  6. $pogoda1 = eregi_replace('.*<div id="hd_k2_dropdown"><div></div><ul>(.*)\. </div>.*',"\\2", $pogoda); //te divy zmien na swoje co chcesz pobrac z pomiedzy tego
  7. }
  8. fclose($file);
  9. echo($pogoda1);
  10. ?>
  Forum: PHP · Podgląd postu: #909754 · Odpowiedzi: 5 · Wyświetleń: 1 037

dublinka
Napisane: 22.09.2011, 10:56:55





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

  1. <?
  2.  
  3. // załóżmy że każdy plik ma jakieś id, przekazywane
  4. // w zmiennej $id
  5. // <a HREF="download.php?id=1">plik nr 1</A>
  6.  
  7. if(!eregi("http://www.paczek-tlustyczwartek.pl/testy/maskowanie_url/", $_SERVER['HTTP_REFERER']))
  8. die("Bu! Nieładnie kraść!");
  9.  
  10. switch($_GET['id']){
  11. case 1:
  12. $name = '1.zip';
  13. break;
  14. case 2:
  15. $name = 'tajny_plik2.zip';
  16. break;
  17. default:
  18. die("Zły numer");
  19. }
  20.  
  21. header("Content-type: application/octet-stream");
  22. header("Content-Disposition: attachment; filename=$name");
  23. readfile("tajny_katalog/$name");
  24. ?>


Tylko ze trzebaby bylo najpierw przejsc na te strone z linku bo nie wiem jak sie bedzie zachowywac jesli includniesz.REFERER sprawdzi z jakiego adresu bylo wejscie.
Procz tego mozesz zarejestrowac sesje jakies i tez w tym pliku ja sprawdzic
  Forum: Przedszkole · Podgląd postu: #900752 · Odpowiedzi: 7 · Wyświetleń: 993

dublinka
Napisane: 17.09.2011, 15:02:19





Grupa: Zarejestrowani
Postów: 202
Dołączył: 22.02.2008

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

Mozna to zrobic na kilka roznych sposobow np tak:
fread()

edit.Nie doczytalam ze chcesz kolejne indeksy...

Kod
<?
$str = file('plik');
for($i=0;$i<count($str);$i++){
print $str[$i].' ['.$i.']<br>';
};
?>
  Forum: Przedszkole · Podgląd postu: #899592 · Odpowiedzi: 1 · Wyświetleń: 262


New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 23.08.2019 - 21:27