Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapisem danych z formularza do pliku
Forum PHP.pl > Forum > PHP
jakub.drag
Witam,
to jest mój pierwszy temat i post na forum, więc postaram się wytłumaczyć problem dokładnie, nie psując pierwszego wrażenia.
No więc, mam formularz:
  1. <form action="5.php" method="post">
  2. Host bazy danych: <input type="text" name="host"><br>
  3. Login bazy danych: <input type="text" name="login"><br>
  4. Hasło bazy danych: <input type="text" name="haslo"><br>
  5. Nazwa bazy danych: <input type="text" name="nazwa"><br>
- oczywiście dalej jest przycisk wysyłający i zakończenie. Zależy mi na takim skrypcie, aby zapisywał dane z formularza w takiej postaci:
  1. <?php
  2. $host = 'TUTAJ WARTOŚĆ Z POLA HOST';
  3. $login = 'TUTAJ WARTOŚĆ Z POLA LOGIN';
  4. $haslo = 'TUTAJ WARTOŚĆ Z POLA HASLO';
  5. $nazwa = 'TUTAJ WARTOŚĆ Z POLA NAZWA';
  6. ?>

Plik do którego ma zapisać się taki kodzik, będzie już na serwerze, i będzie nosić nazwę config.php.
Bardzo bym prosił o pomoc, sam już próbowałem, nic nie zdziałałem smile.gif
Pozdrawiam
Jakub
tehaha
to słabo Ci poszło z tym pierwszym wrażeniem, bo prosisz o to co sam mógłbyś zrobić w max 10min, nawet przy zerowej wiedzy z php, wystarczy pogooglować np. wpisujesz w google "php form" i już pierwszy link http://www.w3schools.com/php/php_forms.asp, pokazuje jak wysyłać i odbierać dane z formularza , potem wpisujesz w google "php write file" i znowu pierwszy link pokazuje jak zapisać dane do pliku http://www.tizag.com/phpT/filewrite.php
jakub.drag
witam znowu. Wg tego co napisał mi Tehaha (dzięki za miłe powitanie i za info) postanowiłem tak zrobić. I ruszyło, ale wynik nie jest zbyt zadowalający - poniżej daję treść pliku config.php, w którym skrypt zapisał taką treść:

  1. <?php
  2.  
  3. = 'sql.przyklad.pl';
  4.  
  5. = 'przyklad';
  6.  
  7. = 'tajnehaslo';
  8.  
  9. = 'nazwabazy';
  10.  
  11. ?>


a powinien taką:

  1. <?php
  2.  
  3. $host = 'sql.przyklad.pl';
  4.  
  5. $login = 'przyklad';
  6.  
  7. $haslo = 'tajnehaslo';
  8.  
  9. $nazwa = 'nazwabazy';
  10.  
  11. ?>


A treść skryptu tworzącego to:

  1. <?php
  2. @$host1 = $_POST['host']; // zmienne do których wczytują sie dane z formularza
  3. @$nazwa1 = $_POST['nazwa'];
  4. @$login1 = $_POST['login'];
  5. @$haslo1 = $_POST['haslo'];
  6. $myFile = "config.php";
  7. $fh = fopen($myFile, 'w') or die("<b>Błąd pliku bazowego. Jeśli nie ma go na serwerze, wróć do poprzedniego
  8.  
  9. kroku aby go utworzyć.</b>");
  10. $stringData = "<?php\n // dalej treść która ma znaleźć się w pliku config.php
  11. $host = '$host1';\n
  12. $login = '$login1';\n
  13. $haslo = '$haslo1';\n
  14. $nazwa = '$nazwa1';\n
  15. ?>";
  16. fwrite($fh, $stringData);
  17. fclose($fh);
  18. ?>


oczywiście, do tego skrypty dane przesyłane są przez formularz, na poprzedniej stronie.
Pozdrawiam
Jakub
tehaha
wydaje mi się, że dane lepiej zapisywać jako zserializowana tablica, czyli robisz sobie
  1. $data = array('zmienna_1'=>$zmienna_1, 'zmienna_2'=>$zmienna_2);
następnie używasz funkcji serialize() i zapisujesz do pliku, potem kiedy chcesz użyć tych danych, odczytujesz plik->unserialize()->i masz gotową tablicę z danymi
jakub.drag
ale co znaczy ta zmienna_1? mógłbyś przybliżyć?
maniana
Twój problem polega na tym: zarówno $host jak i '$host1' jest traktowane jako zmienna a zmienna $host nie istnieje, stąd puste miejsce. Zrób tak
  1. $stringData = "<?php\n // dalej treść która ma znaleźć się w pliku config.php
  2. \$host = '$host1';\n
  3. \$login = '$login1';\n
  4. \$haslo = '$haslo1';\n
  5. \$nazwa = '$nazwa1';\n
  6. ?>";
jakub.drag
maniana, dzięki, postąpiłem wg Twoich rad, niestety, po odświerzeniu strony, pojawia się biała strona w przeglądarce. Wklejam kod obecny skryptu z modyfikacjami maniana:
  1. <?php
  2. @$host1 = $_POST['host'];
  3. @$nazwa1 = $_POST['nazwa'];
  4. @$login1 = $_POST['login'];
  5. @$haslo1 = $_POST['haslo'];
  6. @$port1 = $_POST['port'];
  7. $myFile = "config.php";
  8. $fh = fopen($myFile, 'w') or die("<b>Błšd pliku bazowego. Jeœli nie ma go na serwerze, wróć do poprzedniego kroku aby go utworzyć.</b>");
  9. $stringData = "<?php\n
  10. \$host = '$host1';\n
  11. \$login = '$login1';\n
  12. \$haslo = '$haslo1';\n
  13. \$nazwa = '$nazwa1';\n
  14. ?>";";
  15. fwrite($fh, $stringData);
  16. fclose($fh);
  17. ?>

Ps, dzięki maniana za sprecyzowqanie mojego problemu winksmiley.jpg !
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.