Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przesyłanie danych z formularza do tabelki
Forum PHP.pl > Forum > PHP
edy
Witam, jestem nowy na forum więc proszę o łagodne traktowanie.

Mam pewien problem z formularzem. Chcę napisać formularz w PHP w którym po wpisaniu Nazwy, Adresu IP i hasła serwera(jeżeli takie jest) formularz prześle dane do tabelki którą sam utworzy, formularz mam napisany, potrzebuję tylko, żeby ktoś napisał kod, dzięki któremu formularz wygeneruje tabelkę do której po dopisaniu kolejnych serwerów, będą dopisywać się kolejne rekordy.

  1. <?php
  2. /*********************************************
  3. * plik formularz.php
  4. *********************************************/
  5.  
  6. $nazwa = trim($_POST['nazwa']);
  7. $ip= trim($_POST['ip']);
  8. $pass = trim($_POST['pass']);
  9.  
  10. if(empty($nazwa) and empty($ip) and empty($pass)) {
  11.  
  12. // prosty formularz zawierający dwa pola
  13. echo '<br><center><form action="formularz.php" method="post">
  14. <table cellspacing="0" class="tekst">
  15. <tr>
  16. <td width="200px" valign="top">
  17. Nazwa Serwera: </td>
  18. <td width="230px;"><input type="text" name="nazwa" style="width: 200px;" /></td>
  19. </tr>
  20. <tr>
  21. <td valign="top">
  22. Adres IP: </td>
  23. <td> <input type="text" name="ip" style="width: 200px;" /></td>
  24. </tr>
  25. <tr>
  26. <td valign="top">
  27. Hasło: </td>
  28. <td><input type="text" name="pass" style="width: 200px;" /></td>
  29. </tr>
  30. <td>
  31. <input type="submit" value="Dopisz" /> </td>
  32. </tr>
  33. </table>
  34. </form></center>';
  35. }
  36. else {
  37.  
  38.  // dane pochodzące z formularza
  39.  $dane = "<td>Nazwa:</td>".$nazwa." Adres IP:".$ip." Hasło:".$pass."\n";
  40.  // przypisanie zmniennej $file nazwy pliku
  41.  $file = "baza.txt";
  42.  // uchwyt pliku, otwarcie do dopisania
  43.  $fp = fopen($file, "a");
  44.  // blokada pliku do zapisu
  45.  flock($fp, 2);
  46.  // zapisanie danych do pliku
  47.  fwrite($fp, $dane);
  48.  // odblokowanie pliku
  49.  flock($fp, 3);
  50.  // zamknięcie pliku
  51.  fclose($fp);
  52.  
  53.  echo "Dane zostały zapisane!<br />";
  54.  echo "<a href=\"index.html\">Zobacz wpisane dane</a>";
  55. }
  56.  
  57. ?>


W razie jakiegoś błędu w kodzie, proszę o poprawę;)
nowotny
Nie wiem czy o to dokładnie ci chodzi:
  1. <?php
  2. echo'<table>';
  3. $file_cont=file('baza.txt');
  4. foreach ($file_cont as $line){
  5. echo '<tr><td>'.$line.'</td></tr>';
  6. }
  7. echo'</table>';
  8. ?>
edy
No więc już wyświetla, ale nie wiem jak z tego zrobić tabelę... 3 kolumny pod którymi byłyby wyświetlane dodawane nowe rekordy
nowotny
Musisz to najpierw porządnie dodać do pliku, bo takie coś:

$dane = "<td>Nazwa:</td>".$nazwa." Adres IP:".$ip." Hasło:".$pass."\n";

jest do niczego... potem każdy wiersz wexploadować i zamienić na komórki...
edy
Mógłbyś jaśniej? będę wdzięczny. Ewentualnie proszę o napisanie tej funkcji
nowotny
Zmień sobie sposób dodawania do pliku na taki, na przykład:
  1. <?php
  2. $dane = $nazwa.'``'.$ip.'``'.$pass."\n";
  3. ?>


A potem edytujesz to co ci wcześniej podałem:
  1. <?php
  2. echo'<table>
  3. <tr><th>Nazwa</th><th>Adres IP</th><th>Hasło</th></tr>';
  4.  
  5. $file_cont=file('baza.txt');
  6. foreach ($file_cont as $line){
  7. $line=explode('``',$line);
  8. echo '<tr>';
  9. foreach ($line as $cell){
  10. echo '<td>'.$cell.'</td>';
  11. }
  12. echo '</tr>';
  13. }
  14. echo'</table>';
  15. ?>
edy
No dobra wyświetla mi, ale ta tabela jest nieco źle ustawiona... czy do każdej komórki muszę ustawić, osobno parametry nazwa/ip/pass ?

Proszę, www.edy.webd.pl/index.php

Błąd naprawiony:
  1. <?php
  2. $dane = $nazwa.'``'.$ip.'``'.$pass."``";
  3. ?>

To musi tak wyglądać;)
nowotny
Co jest źle ustawione...? zarzuć jakimś screenem, źródłem, czymkolwiek... takie mówienie że "Nie działa." w niczym nie pomoże...
edy
A jednak, po dopisaniu pierwszego serwera jest ok, po wpisaniu kolejnych zamiast w następnym wierszu, to wpisuje się obok
nowotny
Cytat(edy @ 3.02.2008, 17:55:20 ) *
Błąd naprawiony:
  1. <?php
  2. $dane = $nazwa.'``'.$ip.'``'.$pass."``";
  3. ?>

To musi tak wyglądać;)

Źle... dobrze było tak jak ci napisałem:
  1. <?php
  2. $dane = $nazwa.'``'.$ip.'``'.$pass."\n";
  3. ?>
edy
Dzięki, problem rozwiązany

A czy da się zrobić, żeby adres IP z kolumny nr2 generował automatycznie link do HLSW

Kod
hlsw://
nowotny
  1. <?php
  2. echo'<table>
  3. <tr><th>Nazwa</th><th>Adres IP</th><th>Hasło</th></tr>';
  4.  
  5. $file_cont=file('baza.txt');
  6. foreach ($file_cont as $line){
  7. list($nazwa,$adres,$haslo)=explode('``',$line);
  8. echo '<tr><td>'.$nazwa.'</td><td><a href="hlsw://'.$adres.'">'.$adres.'</a></td><td>'.$haslo.'</td></tr>';
  9. }
  10. echo'</table>';
  11. ?>
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.