Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php formularz
Forum PHP.pl > Forum > PHP
bambolo
Witam mam pewny formularz o dwóch polach do zapisu wszystkie dane z niego są zapisywane w pliku txt i mam prozbe jak zrobic aby po wpisani w pierwszym polu linku strony naprzykład http://google.pl on automatycznie zapisał w pliku jako kod htm czyli <a href="google.pl"> a w drogim polu by był opis linku naprzykład moja strona a w pliku by było zapisane target="_blank">moja strona</a>

czyli z tych dwóch pól byłby stworzony jeden link w bazie txt czyli tak

<a href="http://google.pl" target="_blank">moja strona</a>

oto kod php

  1. <?php
  2. /*********************************************
  3. * plik formularz.php
  4. *********************************************/
  5.  
  6. $pole1 = trim($_POST['pole1']);
  7. $pole2 = trim($_POST['pole2']);
  8.  
  9. if(empty($pole1) and empty($pole2)) {
  10.  
  11. // prosty formularz zawierający dwa pola
  12. echo '<form action="" method="post">
  13. <input type="text" name="pole1" style="width: 200px;" /><br />
  14. <textarea name="pole2" style="width: 200px; height: 100px;">
  15. </textarea><br />
  16. <input type="submit" value="Zapisz" />
  17. </form>';
  18. }
  19. else {
  20.  
  21. // dane pochodzące z formularza
  22. $dane = $pole1."`".$pole2."n";
  23. // przypisanie zmniennej $file nazwy pliku
  24. $file = "baza.txt";
  25. // uchwyt pliku, otwarcie do dopisania
  26. $fp = fopen($file, "a");
  27. // blokada pliku do zapisu
  28. flock($fp, 2);
  29. // zapisanie danych do pliku
  30. fwrite($fp, $dane);
  31. // odblokowanie pliku
  32. flock($fp, 3);
  33. // zamknięcie pliku
  34. fclose($fp);
  35.  
  36. echo "Dane zostały zapisane!<br />";
  37. echo "<a href="podglad.php">Zobacz wpisane dane</a>";
  38. }
  39. ?>


Byłbym wdzieczny za pomoc i podesłanie gotowego rozwiazania
Ociu
  1. <?php
  2. $dane = '<a href="'.$pole1.'" target="_blank">'.$pole2.'</a>n';
  3. ?>
strife
Zmień proszę nazwę tematu, na zgodną z regulaminem ( Regulamin III.2.b & Regulamin IV.4.j ), inaczej wątek zostanie zamknięty.
bambolo
Zmieniłem tytul tematy pieknie działa smile.gif

ale jak jeszcze zrobic aby w pliku bazy txt było nie po kolei a pod spodem kazda linijka zapisywana ? to by było git smile.gif

Pozdrawaim
Cienki1980
Zastosuj taki zapis ( dodany w miejscu gdzie chcesz przejść do nowej lini ):
  1. <?php
  2. fwrite($fp,Chr(13).Chr(10));
  3. ?>
bambolo
OK działa smile.gif ale jeszcze jak mi powiecie jak ograniczyc zapis w drógim polo do 20 znaków to juz by było bosko smile.gif
Cienki1980
Zatrudnić JS np w taki sposób:
  1. <script language="javascript">
  2.  
  3. function maxSize(size,id)
  4. {
  5. var len=document.getElementById(id).value;
  6. if(len.length==size)
  7. {
  8. window.alert('Przekroczona ilosc znaków. Maksymalna ilosc znaków to : '+size);
  9. return false;
  10. }
  11. return true
  12. }
  13.  
  14.  
  15. <textarea id="test" name="test" rows="10" cols="30" onkeypress="return maxSize(5,'test');"></textarea>
jml
Cytat(bambolo @ 10.02.2007, 22:12:28 ) *
OK działa smile.gif ale jeszcze jak mi powiecie jak ograniczyc zapis w drógim polo do 20 znaków to juz by było bosko smile.gif

Wystarczy dodać maxlength="20" w kodzie html, w pliku z formularzem, w znaczniku input albo textarea i nikt więcej nie wpisze.
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.