Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] [Formularze] Otwieranie, zapisywanie, zmienne...
Forum PHP.pl > Forum > Przedszkole
Tilosag
  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  6. <meta name="Description" content="Tu wpisz opis zawartości strony" />
  7. <meta name="Keywords" content="Tu wpisz wyrazy kluczowe rozdzielone przecinkami" />
  8. <title>Tu wpisz tytuł strony</title>
  9. </head>
  10.  
  11. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" METHOD="POST">
  12. </form>
  13. <table border="1" >
  14. <caption align="left"></caption>
  15. <tr align="center" valign="middle">
  16. <td>
  17. Co tu ma być?
  18. </td>
  19.  
  20. <td>
  21. Wielkość
  22. </td>
  23. </tr>
  24. <tr>
  25. <td align="center" valign="middle">
  26. Link do pliku:
  27. </td>
  28. <td align="center" valign="middle" width="100" height="100%">
  29. <input type="file" name="$plik" value="<?php echo $_POST['$plik'] ?>" />
  30. </td>
  31. </tr>
  32. <tr>
  33. <td align="center" valign="middle">
  34. Różnica x:
  35. </td>
  36. <td align="center" valign="middle" width="100" height="100%">
  37. <input type="text" name="x"/>
  38. </td>
  39. </tr>
  40. <tr align="center" valign="middle">
  41. <td align="center" valign="middle">
  42. Różnica y:
  43. </td>
  44. <td align="center" valign="middle" width="100" height="100%">
  45. <input type="text" name="y"/>
  46. </td>
  47. </tr>
  48. <tr align="center" valign="middle">
  49. <td align="center" valign="middle" width="100" height="100%">
  50. Różnica z:
  51. </td>
  52. <td align="center" valign="middle" width="100" height="100%">
  53. <input type="text" name="z"/>
  54. </td>
  55. </tr>
  56.  
  57.  
  58. <table width="100$" height="100%"><tr><td align="center" valign="middle" width="300px"><input type="submit" name="submit" value="Wykonaj" /></td></tr></table>


Jestem newbie i mam problem.

Jak pobiera się dane z forumlarza, bo tego do końca nie rozumiem.

Piszę:
  1. <?php
  2. if (IsSet(submit))
  3. print (x+12);
  4. else
  5. print(:///);
  6.  
  7. ?>

A chcę żeby mi policzyło X+12 jak się wpisze... ;//
nospor
zmienne z forma znajduja sie w superglobalnej tablicy $_POST
  1. <?php
  2. if (isset($_POST['submit']))
  3. print ($_POST['x']+12);
  4. else
  5. print(:///);
  6. ?>
Tilosag
Wszystko ładnie i cacy, tylko dlaczego jak wpiszę w polu na X jakąś liczbę, to nie dodaje mi do niej 12? :/

Ok, nieważne poradziłem sobie, tyle że jak podaje link bezp. do pliku, czyli: C:\Documents and Settings\Tomasz\Menu Start\jakstamplik.txt


to pokazuje mi sie:
Warning: fopen(island-spawn.xml) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\WebServ\httpd\spawn\code.php on line 23
nospor
Cytat
Ok, nieważne poradziłem sobie, tyle że jak podaje link bezp. do pliku, czyli: C:\Documents and Settings\Tomasz\Menu Start\jakstamplik.txt


to pokazuje mi sie:
Warning: fopen(island-spawn.xml) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\WebServ\httpd\spawn\code.php on line 23

Ale oco chodzi? gdzie podajesz ten plik? Pokaz kod.
A tak na marginesie: server nie ma dostepu do plików u klienta smile.gif
Tilosag
  1. <?php
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  6. <meta http-equiv="Creation-date" content="2007-04-10T11:08:47Z">
  7. <meta name="Authoring-tool" content="Pajaczek NxG PRO v5.6.1">
  8. </head>
  9. <body>
  10. <form action="code.php" method="post">
  11. <table border="1">
  12. <tr>
  13. <td>Plik: <input type="file" name="plik" value="" /></td>
  14. <td>b</td>
  15.  
  16. </tr>
  17. <tr>
  18. <td>Potworek był na pozycji:</td>
  19. <td>Potworek jest na pozycji:</td>
  20.  
  21. </tr>
  22. <tr>
  23. <td>X<input type="text" name="x1" value=""/></td>
  24. <td>X<input type="text" name="x2" value=""/></td>
  25.  
  26. </tr>
  27. <tr>
  28. <td>Y<input type="text" name="y1" value=""/></td>
  29. <td>Y<input type="text" name="y2" value=""/></td>
  30.  
  31. </tr>
  32. <tr>
  33. <td>Z<input type="text" name="z1" value=""/></td>
  34. <td>Z<input type="text" name="z2" value=""/></td>
  35.  
  36. </tr>
  37. </table>
  38. <table width="100$" height="100%"><tr><td align="center" valign="middle" width="300px"><input type="submit" name="submit" value="Wykonaj" /></td></tr></table>
  39. </form>
  40.  
  41.  
  42. </body>
  43. </html>
  44. ?>


  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  5. <meta http-equiv="Creation-date" content="2007-04-10T11:26:00Z">
  6. <meta name="Authoring-tool" content="Pajaczek NxG PRO v5.6.1">
  7. </head>
  8. <body>
  9.  
  10.  
  11.  
  12. <?php
  13. $roznicax=$_POST['x2']-$_POST['x1'];
  14. $roznicay=$_POST['y2']-$_POST['y1'];
  15. $roznicaz=$_POST['z2']-$_POST['z1'];
  16.  
  17. print("Różnica X: $roznicax");
  18. print('<br />');
  19. print("Różnica Y: $roznicay");
  20. print('<br />');
  21. print("Różnica Z: $roznicaz");
  22.  
  23. $text=fopen($_POST['plik'],"r+");
  24. ?>
  25.  
  26. </body>
  27. </html>


Czyli jak to muszę zrobić?

Klient musi uploadować pliki na serwer. Stamtąd będzie czytał?
nospor
Polecam dokładną lekture tego:
http://pl.php.net/manual/pl/features.file-upload.php

jesli chcesz dzialac na jakims klienckim pliku, to klient musi ci go najpierw uploadnac na serwer.
Tilosag
Nom przestudiowałem i:

  1. <?php
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  6. <meta http-equiv="Creation-date" content="2007-04-10T11:08:47Z">
  7. <meta name="Authoring-tool" content="Pajaczek NxG PRO v5.6.1">
  8. </head>
  9.  
  10. <body>
  11.  
  12. <form action="code.php" method="post">
  13.  
  14. <table border="1">
  15. <tr>
  16. <td>
  17.  
  18. <form enctype="multipart/form-data" action="code.php" method="POST">
  19. <!-- MAX_FILE_SIZE must precede the file input field -->
  20. <input type="hidden" name="MAX_FILE_SIZE" value="3000" />
  21. <!-- Name of input element determines name in $_FILES array -->
  22. Plik:
  23. <input name="userfile" type="file" />
  24. </form>
  25.  
  26. </td>
  27. </tr>
  28. <tr>
  29. <td>Potworek był na pozycji:</td>
  30. <td>Potworek jest na pozycji:</td>
  31. </tr>
  32. <tr>
  33. <td>X
  34. <input type="text" name="x1" value="" /></td>
  35. <td>X
  36. <input type="text" name="x2" value="" /></td>
  37. </tr>
  38. <tr>
  39. <td>Y
  40. <input type="text" name="y1" value="" /></td>
  41. <td>Y
  42. <input type="text" name="y2" value="" /></td>
  43. </tr>
  44. <tr>
  45. <td>Z
  46. <input type="text" name="z1" value="" /></td>
  47. <td>Z
  48. <input type="text" name="z2" value="" /></td>
  49. </tr>
  50. </table>
  51.  
  52. <table width="100$" height="100%">
  53. <tr>
  54. <td align="center" valign="middle" width="300px">
  55. <input type="submit" name="submit" value="Wykonaj" /></td>
  56. </tr>
  57. </table>
  58.  
  59. </form>
  60.  
  61. </body>
  62. </html>
  63. ?>




  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  5. <meta http-equiv="Creation-date" content="2007-04-10T11:26:00Z">
  6. <meta name="Authoring-tool" content="Pajaczek NxG PRO v5.6.1">
  7. </head>
  8. <body>
  9.  
  10.  
  11.  
  12. <?php
  13. $roznicax=$_POST['x2']-$_POST['x1'];
  14. $roznicay=$_POST['y2']-$_POST['y1'];
  15. $roznicaz=$_POST['z2']-$_POST['z1'];
  16.  
  17. print("Różnica X: $roznicax");
  18. print('<br />');
  19. print("Różnica Y: $roznicay");
  20. print('<br />');
  21. print("Różnica Z: $roznicaz");
  22.  
  23.  
  24. ?>
  25.  
  26. </body>
  27. </html>


Gdzie on zapisał ten plik?questionmark.gif
nospor
Cytat
Nom przestudiowałem i:
Nie klam w zywe oczy tongue.gif

1) oprocz formularza to trzeba jeszcze w php to odebrac. tam byly podane przyklady
2) nigdy nie daje sie form w form, a u ciebie jest
Tilosag
Omfg albo jestem ślepy albo tego tam nie ma (jak odebrać)!

help!
nospor
no nie zartuj sobie....
uzyj scrolla w myszce i przewin strone do dolu... tongue.gif
Masz tam przykladowy kod:
  1. <?php
  2. $uploaddir = '/var/www/uploads/';
  3. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  4.  
  5. echo '<pre>';
  6. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  7. echo "File is valid, and was successfully uploaded.n";
  8. } else {
  9. echo "Possible file upload attack!n";
  10. }
  11.  
  12. echo 'Here is some more debugging info:';
  13. print_r($_FILES);
  14.  
  15. print "</pre>";
  16. ?>
Tilosag
Robie takie coś:

  1. <?php
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  6. <meta http-equiv="Creation-date" content="2007-04-10T11:08:47Z">
  7. <meta name="Authoring-tool" content="Pajaczek NxG PRO v5.6.1">
  8. </head>
  9.  
  10. <body>
  11.  
  12. <form enctype="multipart/form-data" action="code.php" method="POST">
  13.  
  14. <table border="1">
  15. <tr>
  16. <td>
  17.  
  18. <!-- MAX_FILE_SIZE must precede the file input field -->
  19. <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  20. <!-- Name of input element determines name in $_FILES array -->
  21. plik: <input name="plik" type="file" />
  22.  
  23.  
  24.  
  25. </td>
  26. </tr>
  27. <tr>
  28. <td>Potworek był na pozycji:</td>
  29. <td>Potworek jest na pozycji:</td>
  30. </tr>
  31. <tr>
  32. <td>X
  33. <input type="text" name="x1" value="" /></td>
  34. <td>X
  35. <input type="text" name="x2" value="" /></td>
  36. </tr>
  37. <tr>
  38. <td>Y
  39. <input type="text" name="y1" value="" /></td>
  40. <td>Y
  41. <input type="text" name="y2" value="" /></td>
  42. </tr>
  43. <tr>
  44. <td>Z
  45. <input type="text" name="z1" value="" /></td>
  46. <td>Z
  47. <input type="text" name="z2" value="" /></td>
  48. </tr>
  49. </table>
  50.  
  51. <table width="100$" height="100%">
  52. <tr>
  53. <td align="center" valign="middle" width="300px">
  54. <input type="submit" name="submit" value="Wykonaj" /></td>
  55. </tr>
  56. </table>
  57.  
  58. </form>
  59.  
  60. </body>
  61. </html>
  62. ?>


  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  5. <meta http-equiv="Creation-date" content="2007-04-10T11:26:00Z">
  6. <meta name="Authoring-tool" content="Pajaczek NxG PRO v5.6.1">
  7. </head>
  8. <body>
  9.  
  10.  
  11.  
  12. <?php
  13. $roznicax=$_POST['x2']-$_POST['x1'];
  14. $roznicay=$_POST['y2']-$_POST['y1'];
  15. $roznicaz=$_POST['z2']-$_POST['z1'];
  16.  
  17. print("Różnica X: $roznicax");
  18. print('<br />');
  19. print("Różnica Y: $roznicay");
  20. print('<br />');
  21. print("Różnica Z: $roznicaz");
  22.  
  23.  
  24.  
  25. // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
  26. // of $_FILES.
  27.  
  28.  
  29. echo '<pre>';
  30. if (move_uploaded_file($_FILES['plik'], '/')) {
  31. echo "File is valid, and was successfully uploaded.n";
  32. } else {
  33. echo "Possible file upload attack!n";
  34. }
  35.  
  36. echo 'Here is some more debugging info:';
  37. print_r($_FILES);
  38.  
  39. print "</pre>";
  40.  
  41.  
  42. ?>
  43.  
  44. </body>
  45. </html>


I pokazuje się:
  1. Różnica X: 232108
  2. Różnica Y: 81099
  3. Różnica Z: 0
  4.  
  5. Possible file upload attack!
  6. Here is some more debugging info:Array
  7. (
  8. [userfile] => Array
  9. (
  10. [name] => island-spawn.xml
  11. [type] => text/xml
  12. [tmp_name] => C:/Program Files/WebServ/temp/file-uploads\php4D3.tmp
  13. [error] => 0
  14. [size] => 2281
  15. )
  16.  
  17. )


Dlaczego?!?!
nospor
oj... przeciez musisz podac nazwe pliku, czyli nie:
move_uploaded_file($_FILES['plik'], '/')
a:
move_uploaded_file($_FILES['plik'], '/jakasnazwapliku.jakiesrozszerzenie')
Tilosag
move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

move_uploaded_file — Przenieś uploadowany plik do innej lokalizacji
Opis
bool move_uploaded_file ( string $nazwa_pliku, string $przeznaczenie ) " title="Zobacz w manualu PHP" target="_manual


dee?


to ma być

  1. <?php
  2. move_uploaded_file($_FILES['plik'], '/$_FILES['plik']')
  3. ?>


questionmark.gif!

Jeżeli zrobię:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  5. <meta http-equiv="Creation-date" content="2007-04-10T11:26:00Z">
  6. <meta name="Authoring-tool" content="Pajaczek NxG PRO v5.6.1">
  7. </head>
  8. <body>
  9.  
  10.  
  11.  
  12. <?php
  13. $roznicax=$_POST['x2']-$_POST['x1'];
  14. $roznicay=$_POST['y2']-$_POST['y1'];
  15. $roznicaz=$_POST['z2']-$_POST['z1'];
  16.  
  17. print("Różnica X: $roznicax");
  18. print('<br />');
  19. print("Różnica Y: $roznicay");
  20. print('<br />');
  21. print("Różnica Z: $roznicaz");
  22.  
  23.  
  24.  
  25. // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
  26. // of $_FILES.
  27.  
  28.  
  29. echo '<pre>';
  30. if (move_uploaded_file($_FILES['plik'], '/dee.txt')) {
  31. echo "File is valid, and was successfully uploaded.n";
  32. } else {
  33. echo "Possible file upload attack!n";
  34. }
  35.  
  36. echo 'Here is some more debugging info:';
  37. print_r($_FILES);
  38.  
  39. print "</pre>";
  40.  
  41.  
  42. ?>
  43.  
  44. </body>
  45. </html>

To:
  1. Różnica X: 232108
  2. Różnica Y: 81099
  3. Różnica Z: 0
  4.  
  5. Possible file upload attack!
  6. Here is some more debugging info:Array
  7. (
  8. [userfile] => Array
  9. (
  10. [name] => island-spawn.xml
  11. [type] => text/xml
  12. [tmp_name] => C:/Program Files/WebServ/temp/file-uploads\php4E9.tmp
  13. [error] => 0
  14. [size] => 2281
  15. )
  16.  
  17. )
nospor
oj.... ty źle kopiujesz a ja niedopatrzylem
nie:
move_uploaded_file($_FILES['plik'], '/dee.txt')
a
move_uploaded_file($_FILES['userfile']['tmp_name'], '/dee.txt')
Troche samodzielnosci. I zdecyduj sie jak nazywasz pola bo raz to jest "plik" a raz "userfile"....
Tilosag
biggrin.gif Sukces!

Wielkie thx!

Ale btw...

Do czego on ten plik zapisał, bo otwieram folder, a nie widze :/
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.