Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: [php][mysql] Problem z formularzem
Forum PHP.pl > Forum > Przedszkole
Gerbil
Witam,
Mam nie lada problem z dodawaniem danych do bazy oraz z ich aktualizowaniem.
1. Przy dodawaniu danych do rekordu nazwa np. zdanie 'Firma Us³ugowa Robex' dodaje 'Firma' a resztê obcina.
W bazie rekord nazwa jest typu text.
2. Przy próbie aktualizowania danych po naci¶niêciu submit - nie aktualizuje.

Z góry dziêkuje za wszelk± pomoc.

Poni¿ej zawarto¶æ skryptu, s_firma.php

  1. <?
  2.  
  3. include "./include/baza.inc";
  4. include "./include/naglowek.inc";
  5.  
  6. // dodawanie danych
  7. if (isset($_POST['d'])) 
  8. {
  9.  
  10. $nnazwa=addslashes($_POST['nnazwa']);
  11. $nadres=addslashes($_POST['nadres']);
  12. $ntelefon=addslashes($_POST['ntelefon']);
  13. $nfax=addslashes($_POST['nfax']);
  14. $nnip=addslashes($_POST['nnip']);
  15.  
  16. $sql=mysql_query("INSERT INTO dane_firmy VALUES ('1','$nnazwa','$nadres','$ntelefon','$nfax','$nnip')");
  17. echo "<center>Dane zosta³y dodane!</center>";
  18. }
  19. // aktualizowanie danych
  20. if (isset($POST['z']))
  21. {
  22. $nnazwa=htmlspecialchars($_POST['nnazwa']);
  23. $nadres=htmlspecialchars($_POST['nadres']);
  24. $ntelefon=htmlspecialchars($_POST['ntelefon']);
  25. $nfax=htmlspecialchars($_POST['nfax']);
  26. $nnip=htmlspecialchars($_POST['nnip']);
  27.  
  28. $sql=mysql_query("UPDATE dane_firmy SET id_firma='1',nazwa='".$nnazwa."',adres='".$nadres."',telefon='".$ntelefon."',fax='".$nfax."',nip='".$nnip."'");
  29. echo "<center>Dane zosta³y zmienione!</center>";
  30. } 
  31.  
  32.  
  33.  
  34.  
  35. $rezultat=mysql_query("select * FROM dane_firmy");
  36. $ile=mysql_num_rows($rezultat);
  37.  
  38. echo $ile;
  39. ?>

  1. <table align="center" width="700">
  2. <tr>
  3. <td align="center"><h2>Dane firmy</h2></td>
  4. </tr>
  5.  
  6. <table align="center" width="600" bgcolor="#d4d4d4" cellpadding="5">
  7. <tr><td>
  8.  
  9. <form action="s_firma.php" method="post">
  10. <table align="center" width="600" bgcolor="#d4d4d4" cellpadding="5">

  1. <?
  2. if ($ile == 0) // formularz przy dodawaniu
  3. {
  4. echo "<tr><td>Nazwa</td><td align=left><input type=text size=80 name=nnazwa></td></tr>";
  5. echo "<tr><td>Adres</td><td align=left><input type=text size=80 name=nadres></td></tr>";
  6. echo "<tr><td>Tel.</td><td align=left><input type=text size=20 name=nteleofon></td></tr>";
  7. echo "<tr><td>Fax.</td><td align=left><input type=text size=20 name=nfax></td></tr>";
  8. echo "<tr><td>Nip</td><td align=left><input type=text size=20 name=nnip></td></tr>";
  9. echo "<tr><td><input type=submit value=Dodaj name=d></td></tr>";
  10. echo "</table></form>";
  11. }
  12.  
  13. if ($ile == 1) // formularz przy aktualizowaniu
  14. {
  15. $wiersz=mysql_fetch_array($rezultat);
  16. echo "<tr><td>Nazwa</td><td align=left><input type=text size=80 name=nnazwa value=".htmlspecialchars_decode($wiersz['nazwa'])."></td></tr>";
  17. echo "<tr><td>Adres</td><td align=left><input type=text size=80 name=nadres value=".htmlspecialchars_decode($wiersz['adres'])."></td></tr>";
  18. echo "<tr><td>Tel.</td><td align=left><input type=text size=20 name=nteleofon value=".htmlspecialchars_decode($wiersz['telefon'])."></td></tr>";
  19. echo "<tr><td>Fax.</td><td align=left><input type=text size=20 name=nfax value=".htmlspecialchars_decode($wiersz['fax'])."></td></tr>";
  20. echo "<tr><td>Nip</td><td align=left><input type=text size=20 name=nnip value=".htmlspecialchars_decode($wiersz['nip'])."></td></tr>";
  21. echo "<tr><td><input type=submit value=Zmieñ name=z></td></tr>";
  22. echo "</table></form>";
  23. }
  24. ?>

  1. </td></tr>
  2. <tr><td><hr /></td></tr>
  3. <tr><td align="center"><a href="main.php">Wróæ do menu</a></td></tr>

  1. <?
  2. include "./include/stopka.inc";
  3. ?>

  1. </body>
  2. </html>
Siner
W update brakuje Ci warunku który rekord ma zmieniæ np "WHERE id = 1;"
Cysiaczek
Popraw proszê tytu³ topiku na zgodny z zasadami forum Przedszkole
Gerbil
Cytat
W update brakuje Ci warunku który rekord ma zmienić np "WHERE id = 1;"


Wstawiłem i chyba też pomogło.

Znalazłem błąd, była literówka.
  1. <?php
  2. if (isset($POST['z']))
  3. ?>

powinno być
  1. <?php
  2. if (isset($_POST['z']))
  3. ?>

i to by było tyle filozofii.

Ale jeszcze nie potrafię rozwiązać problemu nr 1
Dodaje do bazy całe zdanie, ale przy odczytaniu z bazy wyświetla tylko pierwszy wyraz zdania a resztę obcina sciana.gif
nospor
Cytat
Dodaje do bazy ca³e zdanie, ale przy odczytaniu z bazy wy¶wietla tylko pierwszy wyraz zdania a resztê obcina
Podstawy html....
Nie: ....value=dlugie zdanie jakies
tylko:....value="dlugie zdanie jakies"
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.