Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] Dopisywanie do bazy danych
Czesuaf
post 4.03.2006, 17:15:23
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 9.02.2006

Ostrzeżenie: (0%)
-----


jest problem dodałem do tej ksiażki telefonicznej możliwość wpisu. Wszystko fajnie gra wpisuje ale nie pokazuje puste pola sie robia ... tu jest cały kod:

  1. <html>
  2.  
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  5. <title>Czytanie z bazy danych</title>
  6. </head>
  7. <body>
  8. <?
  9. mysql_connect("localhost", "root", "krasnal") or
  10. die("Nie można połączyć się z MySQL");
  11. mysql_select_db("cwphp") or
  12. die("Nie można połązyć sie z bazą cwphp");
  13.  
  14. if ($_POST['co'] == 'dodaj') {
  15. if ($_POST['Imię'] && $_POST['Nazwisko'] && $_POST['Telefon']) {
  16. $query = "INSERT INTO ksiazkatelefoniczna (imie, nazwisko, ";
  17. $query .="telefon) VALUES ('".$_POST['imie']."', '".$_POST['nazwisko']."',
  18. '".$_POST['telefon']."');";
  19. $wynik = mysql_query ($query);
  20. }
  21. } elseif ($_GET['co'] == 'skasuj') {
  22. $wynik = mysql_query
  23.  ("DELETE FROM ksiazkatelefoniczna WHERE nr = '".$_GET['id']."';");
  24. }
  25. $wynik = mysql_query("SELECT * FROM `ksiazkatelefoniczna` ORDER BY `Nr` DESC LIMIT 0 , 5");
  26.  
  27. print "<TABLE CELLPADDING=5 BORDER=1>";
  28. print "<TR><TD><B>Imię</B></TD><TD><B>Nazwisko</B></TD>";
  29. print "<TD><B>Telefon</B></TD><TD></TD></TR>\n";
  30.  
  31. while ($rekord = mysql_fetch_assoc($wynik)) {
  32. $nr = $rekord['nr'];
  33. $imie = $rekord['imie'];
  34. $nazwisko = $rekord['nazwisko'];
  35. $telefon = $rekord['telefon'];
  36.  
  37. print "<TR><TD>$imie</TD><TD>$nazwisko</TD><TD>$telefon</TD><TD>";
  38. print "<A HREF=\"4-28.php?co=skasuj&id=$nr\">skasuj</A></TD></TR>\n";
  39.  
  40. }
  41. print "</TABLE>";
  42. print '<FORM METHOD="POST">Nowy rekord:';
  43. print '<INPUT TYPE="hidden" NAME="co" VALUE="dodaj"><TABLE>';
  44. print '<TR><TD>Imię:</TD><TD><INPUT TYPE="text" ';
  45. print 'NAME="Imię"></TD></TR><TR><TD>Nazwisko:</TD><TD><INPUT ';
  46. print 'TYPE="text" NAME="Nazwisko"></TD></TR><TR><TD>Telefon:</TD>';
  47. print '<TD><INPUT TYPE="text" NAME="Telefon"></TD></TR>';
  48. print '</TABLE><INPUT TYPE="submit" VALUE="Dodaj"></FORM>';
  49. ?>
  50.  
  51. </body>
  52.  
  53. </html>


I mam pytanie czy istnieje możliwość żeby podczas odświerzania strony nie dodawaly sie te same informacje ? Poprostu jak nasiśnie się odświerz to niech nic nie dopisuje... sad.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Spirit86
post 4.03.2006, 17:30:05
Post #2





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


pobierasz ostatni rekord i porównujesz go do obecnego.

  1. SELECT imie, nazwisko
  2. FROM tabele
  3. ORDER BY id DESC LIMIT 1


Ten post edytował Spirit86 4.03.2006, 17:31:12


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
Czesuaf
post 4.03.2006, 17:35:47
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 9.02.2006

Ostrzeżenie: (0%)
-----


Hmm zrobiłem tak jak powiedziałeś i dalej to samo sad.gif
Go to the top of the page
+Quote Post
Master Miko
post 4.03.2006, 17:35:49
Post #4





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Czy mógłbyś wytłumaczyć problem lepiej?
Cytat
jest problem dodałem do tej ksiażki telefonicznej możliwość wpisu. Wszystko fajnie gra wpisuje ale nie pokazuje puste pola sie robia ... tu jest cały kod:


Nie rozumiem.

PS. zmień linię

  1. <?php
  2. print '<FORM METHOD="POST">Nowy rekord:';
  3. ?>


na

  1. <?php
  2. print '<FORM METHOD="POST" action="nazwa_skryptu.php">Nowy rekord:';
  3. ?>


--------------------
Go to the top of the page
+Quote Post
Czesuaf
post 4.03.2006, 17:44:54
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 9.02.2006

Ostrzeżenie: (0%)
-----


Cytat(Master Miko @ 2006-03-04 16:35:49)
Czy mógłbyś wytłumaczyć problem lepiej?
Cytat
jest problem dodałem do tej ksiażki telefonicznej możliwość wpisu. Wszystko fajnie gra wpisuje ale nie pokazuje puste pola sie robia ... tu jest cały kod:


Nie rozumiem.

PS. zmień linię

  1. <?php
  2. print '<FORM METHOD="POST">Nowy rekord:';
  3. ?>


na

  1. <?php
  2. print '<FORM METHOD="POST" action="nazwa_skryptu.php">Nowy rekord:';
  3. ?>

Ok wyjaśnie to tak.

Kiedy wpisuje dane do pola daje Submit to dodaje sie nowy rekord tylko ze on nie wyświetla informacji przeze mnie wpisanych poprostu puste pola są i zmieniłem tak jak mówiłeś i dalej ten sam problem.
Go to the top of the page
+Quote Post
Master Miko
post 4.03.2006, 17:49:44
Post #6





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


aha czyli o to Ci chodzi:

1. Wpisujesz dane do inputów (imie,nazwisko,telefon)
2. Klikasz submit - dodaje Ci to do bazy danych

i teraz

3a - chcesz żeby znowu pojawiły się w inputach
czy
3b - chcesz aby te dane pojawiły się w linii:
  1. <?php
  2.  
  3. while ($rekord = mysql_fetch_assoc($wynik)) {
  4. $nr = $rekord['nr'];
  5. $imie = $rekord['imie'];
  6. $nazwisko = $rekord['nazwisko'];
  7. $telefon = $rekord['telefon'];
  8.  
  9. print "<TR><TD>$imie</TD><TD>$nazwisko</TD><TD>$telefon</TD><TD>";
  10. print "<A HREF=\"4-28.php?co=skasuj&id=$nr\">skasuj</A></TD></TR>\n";
  11.  
  12. }
  13.  
  14. ?>




Dobrze zrozumiałem?


--------------------
Go to the top of the page
+Quote Post
Czesuaf
post 4.03.2006, 17:52:04
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 9.02.2006

Ostrzeżenie: (0%)
-----


Cytat(Master Miko @ 2006-03-04 16:49:44)
aha czyli o to Ci chodzi:

1. Wpisujesz dane do inputów (imie,nazwisko,telefon)
2. Klikasz submit - dodaje Ci to do bazy danych

i teraz

3a - chcesz żeby znowu pojawiły się w inputach
czy
3b - chcesz aby te dane pojawiły się w linii:
  1. <?php
  2.  
  3. while ($rekord = mysql_fetch_assoc($wynik)) {
  4.     $nr = $rekord['nr'];
  5.     $imie = $rekord['imie'];
  6.     $nazwisko = $rekord['nazwisko'];
  7.     $telefon = $rekord['telefon'];
  8.     
  9.     print "<TR><TD>$imie</TD><TD>$nazwisko</TD><TD>$telefon</TD><TD>";
  10.     print "<A HREF=\"4-28.php?co=skasuj&id=$nr\">skasuj</A></TD></TR>\n";
  11.     
  12. }
  13.  
  14. ?>




Dobrze zrozumiałem?

hmm może ja dam screena smile.gif

Tu masz linka

I takie puste pola mi się robią

Ten post edytował Czesuaf 4.03.2006, 17:52:28
Go to the top of the page
+Quote Post
Master Miko
post 4.03.2006, 17:57:26
Post #8





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Problem jest chyba z query. Dodaje, ale nie tak jak trzeba:
  1. <?php
  2.  
  3.         $query = "INSERT INTO ksiazkatelefoniczna (imie, nazwisko, ";
  4.         $query .="telefon) VALUES ('".$_POST['imie']."', '".$_POST['nazwisko']."',
  5.         '".$_POST['telefon']."');";
  6.  
  7. ?>


Spóbuj może:
  1. <?php
  2.  
  3. $query = "INSERT INTO ksiazkatelefoniczna (imie, nazwisko, telefon) VALUES (" .$_POST['imie'] . ", " .$_POST['nazwisko'] . ", " . $_POST['telefon'] . ")";
  4.  
  5. ?>



Poza tym jeśli chcesz, żeby Ci to dobrze działało pomyśl o zabezpieczeniach.
Nie wolno tak robić - Post w query do mysql. A nuż hacker wlepi Ci jakiś kod?

Ten post edytował Master Miko 4.03.2006, 18:00:05


--------------------
Go to the top of the page
+Quote Post
Czesuaf
post 4.03.2006, 18:00:45
Post #9





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 9.02.2006

Ostrzeżenie: (0%)
-----


Nie działa sad.gif
Go to the top of the page
+Quote Post
Master Miko
post 4.03.2006, 18:07:59
Post #10





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


No to nie wiem! Spróbuj tak:

  1. <?php
  2.  
  3. $query = "INSERT INTO ksiazkatelefoniczna (imie, nazwisko, ";
  4. $query .="telefon) VALUES ('".$_POST['imie']."', '".$_POST['nazwisko']."',
  5. '".$_POST['telefon']."');";
  6. $wynik = mysql_query ($query);
  7.  
  8. ?>

NA
  1. <?php
  2.  
  3.  
  4. $imie = $_POST['Imie'];
  5. $nazwisko = $_POST['Nazwisko'];
  6. $telefon = $_POST['Telefon'];
  7.  
  8. $query = "INSERT INTO ksiazkatelefoniczna (imie, nazwisko, telefon) VALUES ('$imie', '$nazwisko', '$telefon')";
  9. $wynik = mysql_query ($query);
  10.  
  11.  
  12.  
  13. ?>


--------------------
Go to the top of the page
+Quote Post
Czesuaf
post 4.03.2006, 18:13:00
Post #11





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 9.02.2006

Ostrzeżenie: (0%)
-----


Działa exclamation.gif dzieki wielkie smile.gif
Go to the top of the page
+Quote Post
Master Miko
post 4.03.2006, 18:18:09
Post #12





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Poprostu nie zgadzało mu się formatowanie - za dużo tych ' ' "" ''.
I pamiętaj - jeśli chcesz to postawić na zewnątrz to daj na to blokady - limitowaną długość liter - a w numerze telefonu sprawdź czy wszystkie znaki są cyframi


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 19:17