Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie tekstu z formularza i zapisywanie go w pliku
Forum PHP.pl > Forum > Przedszkole
RaiZeN
Cześć

Tworże prosty system skracania linków, który polega na tym że użytkownik wpisuje link do skrócenia, klika guzik i otrzymuje kod składający się z losowych znaków, następnie plik .php nazwany tak jak ten wygenerowany kod trafia do folderu i w treści wpisuje tekst z formularza (czyli link do skrócenia). Kod wygląda tak:
  1. <?
  2. $znaki = '1234567890qwertyuiopasdfghjkklzxcvbnm';
  3. $id = '';
  4. for ($i=0; $i<7; $i++)
  5. {
  6. $url .= $znaki[rand()%(strlen($znaki))];
  7. }
  8. echo 'http://www.banan.pl/url/$url';
  9. $file = "$url.php";
  10. $sk = '<?php echo <meta http-equiv="refresh" content="1;url="$_POST['link'];" /> ?>';
  11. #<meta http-equiv="refresh" content="1;url='$_POST['link'];" />
  12. $fp = fopen($file, "a");
  13. flock($fp, 2);
  14. fwrite($fp, $sk);
  15. flock($fp, 3);
  16. fclose($fp);
  17. ?>


Błąd wygląda tak:

Parse error: syntax error, unexpected T_STRING in /virtual/banan.pl/url/link.php on line 10


Natomiast index.php wygląda tak:
  1. <form action="link.php">
  2. <input type="text" name="link" />
  3. <input type="submit" name="ok" value="Skróć link!" />
  4. </form>

Chodzi o to aby tekst z formularza z index.php wpisać do pliku .php po "url=".
smile.gif

PS: Ta strona nie ma takiego adresu tylko zmieniłem żeby nie reklamować biggrin.gif
Geston
Odpowiedź niżej.
RaiZeN
Teraz nie wyświetla nawet tego tekstu tylko "$url" :c
Geston
Dobra bo tam napisałem tyle co mi się w oczy rzuciło ale to bzdura była.

  1. <?php
  2. $znaki = '1234567890qwertyuiopasdfghjkklzxcvbnm';
  3. $url = '';
  4.  
  5. for ($i=0; $i<7; $i++)
  6. {
  7. $url .= $znaki[rand()%(strlen($znaki))];
  8. }
  9.  
  10. echo 'http://www.banan.pl/url/' . $url;
  11. $file = $url . ".php";
  12. $sk = '<?php echo "<meta http-equiv=\"refresh\" content=\"1;url=' . $_POST['link'] . '\" />" ?>';
  13. #<meta http-equiv="refresh" content="1;url='$_POST['link'];" />
  14. $fp = fopen($file, "a");
  15. flock($fp, 2);
  16. fwrite($fp, $sk);
  17. flock($fp, 3);
  18. fclose($fp);
  19. ?>


$id = '', zła nazwa zmiennej, dalej używasz $url a z operatorem .= musi być ona wcześniej już "zainicjowana".
Dalej łączenie wartości zmiennych i stringów - w kilku miejscach błąd, poprawiłem.

  1. <form action="link.php" method="POST">
  2. <input type="text" name="link" />
  3. <input type="submit" name="ok" value="Ślij link!" />
  4. </form>


W formularzu musisz określić metodę wysyłania na post, domyślnie robi to przez get więc nie znajdziesz przesłanej wartości w $_POST.
RaiZeN
Cytat(Geston @ 9.04.2014, 19:53:51 ) *
Dobra bo tam napisałem tyle co mi się w oczy rzuciło ale to bzdura była.

  1. <?php
  2. $znaki = '1234567890qwertyuiopasdfghjkklzxcvbnm';
  3. $url = '';
  4.  
  5. for ($i=0; $i<7; $i++)
  6. {
  7. $url .= $znaki[rand()%(strlen($znaki))];
  8. }
  9.  
  10. echo 'http://www.banan.pl/url/' . $url;
  11. $file = $url . ".php";
  12. $sk = '<?php echo "<meta http-equiv=\"refresh\" content=\"1;url=' . $_POST['link'] . '\" />" ?>';
  13. #<meta http-equiv="refresh" content="1;url='$_POST['link'];" />
  14. $fp = fopen($file, "a");
  15. flock($fp, 2);
  16. fwrite($fp, $sk);
  17. flock($fp, 3);
  18. fclose($fp);
  19. ?>


$id = '', zła nazwa zmiennej, dalej używasz $url a z operatorem .= musi być ona wcześniej już "zainicjowana".
Dalej łączenie wartości zmiennych i stringów - w kilku miejscach błąd, poprawiłem.

  1. <form action="link.php" method="POST">
  2. <input type="text" name="link" />
  3. <input type="submit" name="ok" value="Ślij link!" />
  4. </form>


W formularzu musisz określić metodę wysyłania na post, domyślnie robi to przez get więc nie znajdziesz przesłanej wartości w $_POST.


Rzeczywiście nie zauważyłem nazw zmiennych. smile.gif Wszystko działa jak należy, dzięki za pomoc i podpowiedzi, na przyszłość będę wiedział co i jak. smile.gif
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.