Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html][php][mysql]Dodawanie rekordu z pozycji stronki
Forum PHP.pl > Forum > PHP
Oscar_83
W księdze gości próbuje zrobić dodawanie wpisów i wydaje mi się że mam wszystko dobrze (tzn dobrze napewno nie jest bo by dodawało) ale wpis do bazy się nie dodaje, gdzie zrobiłem coś żle?
mam 3 pliki:
1 plik - nazwa: ksiega_gosci.php
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <meta name="Author" content="Marek Żukowski" />
  5. <title>Ogłoszenia klubu</title>
  6. </head>
  7. <body>
  8. <h1 align="center">KSIĘGA GOŚCI</h1>
  9. <?php
  10.  $polaczenie = mysql_connect("localhost", "root", "krasnal") or die ("Sprawdź połączenie z serwerem: " . mysql_error());
  11.  mysql_select_db('tabele', $polaczenie)
  12.  or die (mysql_error());
  13.  mysql_query('SET NAMES latin2');
  14.  
  15. $query = "SELECT * FROM ksiega_gosci ORDER BY data DESC";
  16. $results = mysql_query($query) or die (mysql_error());
  17. while ($row = mysql_fetch_array($results)) {
  18. ?>
  19. <table width="100%" border="1" cellpadding="2" cellspacing="2">
  20. <tr>
  21. <td>
  22. <?php
  23. echo "<b>Data: &nbsp</b>", $row['data'];
  24. echo "<br>";
  25. echo "<b>Imię i Nazwisko lub nick: </b>", $row['nick'];
  26. echo "<br>";
  27. echo "<b>Email: </b><a href="mailto:".$row['email']."">".$row['email']."</a>";
  28. echo "<br>";
  29. echo "<b>Miejscowość: </b>", $row['miejscowosc'];
  30. echo "<br>";
  31. echo "<b>Numer gg: </b>", $row['numergg'];
  32. echo "<br>";
  33. echo "<b>Treść: </b>";
  34. echo "<br>";
  35. echo $row['tresc'];
  36. ?>
  37. </td>
  38. </tr>
  39. </table>
  40. <?php
  41. echo "<br>";
  42. echo "<br>";
  43. };
  44. ?>
  45. <table border="0" width="600" cellspacing="1" cellpadding="3" bgcolor="#353535" align="center">
  46.  <tr>
  47.  <td bgcolor="#FFFFFF" colspan="2" align="center">
  48.  Wpis <a href="ksiega_add.php?action=add&id=">[DODAJ]</a>
  49.  </td>
  50.  </tr>
  51. <?php
  52. mysql_close($polaczenie);
  53. ?>
  54.  
  55. </body>
  56. </html>

2 plik - nazwa: ksiega_add.php
  1. <html>
  2. <head>
  3. <title>Nowy wpis</title>
  4. <style type="text/css">
  5. TD{color:#353535;font-family:verdana}
  6. TH{color:#FFFFFF;font-family:verdana;background-color:#336699}
  7. </style>
  8. </head>
  9. <body>
  10. <form action="commit_k.php?action=add&type=wpis" method="post">
  11. <table border="0" width="750" cellspacing="1" cellapdding="3" bgcolor="#353535" align="center">
  12.  <tr>
  13.  <td bgcolor="#FFFFFF" width="30%">Data</td>
  14.  <td bgcolor="#FFFFFF" width="70%">
  15.  <input type="date" name="data"
  16.  value="<?php echo date("Y-m-d")?>">
  17.  </td>
  18.  </tr>
  19.  <tr>
  20.  <td bgcolor="#FFFFFF" width="30%">Imię i Nazwisko lub nick</td>
  21.  <td bgcolor="#FFFFFF" width="70%">
  22.  <input type="text" name="nick">
  23.  </td>
  24.  </tr>
  25.  <tr>
  26.  <td bgcolor="#FFFFFF">Email</td>
  27.  <td bgcolor="#FFFFFF">
  28.  <input type="text" name="email">
  29.  </td>
  30.  </tr>
  31.  <tr>
  32.  <td bgcolor="#FFFFFF">Miejscowość</td>
  33.  <td bgcolor="#FFFFFF">
  34.  <input type="text" name="miejscowosc">
  35.  </td>
  36.  </tr>
  37.  <tr>
  38.  <td bgcolor="#FFFFFF">Numer gg</td>
  39.  <td bgcolor="#FFFFFF">
  40.  <input type="text" name="numergg">
  41.  </td>
  42.  </tr>
  43.  <tr>
  44.  <td bgcolor="#FFFFFF">Treść</td>
  45.  <td bgcolor="#FFFFFF">
  46.  <input type="text" name="tresc">
  47.  </td>
  48.  </tr>
  49.  <tr>
  50. <td bgcolor="#FFFFFF" colspan="2" align="center">
  51. <input type="submit" name="SUBMIT" value="DODAJ">
  52. </td>
  53. </tr>
  54. </table>
  55. </form>
  56. </body>
  57. </html>

i 3 plik - nazwa: commit_k.php
  1. <?php
  2. $polaczenie = mysql_connect("localhost", "root", "krasnal") or die ("Nie udało się połączyć: " . mysql_error());
  3. mysql_select_db('tabele', $polaczenie) or die (mysql_error());
  4. switch ($_GET['action']) {
  5.  case "add":
  6.  switch ($_GET['type']) {
  7. case "ksiega_gosci":
  8.  $wpissql = "INSERT INTO ksiega_gosci
  9.  (data,
  10.  nick,
  11.  email,
  12.  miejscowosc,
  13.  numergg,
  14.  tresc)
  15.  VALUES
  16.  ('" .$_POST['data']. "',
  17.  '" .$_POST['nick']. "',
  18.  '" .$_POST['email']. "',
  19.  '" .$_POST['miejscowosc']. "',
  20.  '" .$_POST['numergg']. "',
  21.  '" .$_POST['tresc']. "')";
  22.  break;
  23. }
  24. break;
  25. }
  26. if (isset($wpissql) && !empty($wpissql)) {
  27. echo "<!--" . $wpissql . "-->";
  28. $result = mysql_query($wpissql)
  29. or die("Niepoprawne zapytanie: " . mysql_error());
  30. ?>
  31. <p align="center" style="color:#FF0000">
  32.  Wykonane. <a href="ksiega_gosci.php">Księga</a>
  33. </p>
  34. <?php
  35. }
  36. ?>

2 plik się odpala po kliknięciu dodaj wpis, a po wpisaniu danych gdy klikam dodaj, wyskakuje biała strona, tak jakby przycisk dodaj nie dodawał.
Dodam jeszcze że w bazie mam takie pola:
id (autoincrement)(klucz postawowy)
data
nick
email
miejscowosc
numergg
tresc
Oscar_83
chyba jednak get i post są dobrze
www0_0
no to może to:
Wysyłasz formularz z parametrami: action=add&type=wpis
zaś sprawdzasz czy:
  1. <?php
  2. switch ($_GET['action']) {
  3.  case "add":
  4. ?>
to prawidłowo

oraz

  1. <?php
  2. switch ($_GET['type']) {
  3. case "ksiega_gosci":
  4. ?>
A to już niekoniecznie, wysyłasz inny parametr prawda:) Ja bym zaczął naprawę od tego:)
Oscar_83
hehe super!!! wielkie dzięki!! tak jak napisałeś smile.gif zamieniłem ksiega_gosci na wpis i już wszystko gra smile.gif
Pozdrawiam!!

a jak zrobić tutaj:
  1. <?php
  2. <tr>
  3.  <td bgcolor="#FFFFFF">Tre&#347;ć</td>
  4.  <td bgcolor="#FFFFFF">
  5.  <input type="text" name="tresc">
  6.  </td>
  7.  </tr>
  8. ?>

żeby do wpisywania treści nie służyła taka krótka linijka bo po chwili pisania początku już nie widać
dzięki wszystko już gra smile.gif
www0_0
to pytanie raczej o podstawy:) można dodać parament size , lecz na ogu do wpisania treści służy pole textarea
Oscar_83
a jak w tym kodzie jak wyżej, zmienić żeby date i dodatkowo godzine wstawiał sam automatycznie i nie było możliwości zmiany? bo obecnie wczytuje mi dzisiejszą datę lecz można ją zmienić - a godziny nie mam.
c0cr0ach
Poczytaj funkcji date() i przypisz datę jakiejś zmiennej, np. $date. Przy dodawaniu rekordu do bazy zamiast $_POST['data'] wstaw swoją zmienną z datą i godziną.
Oscar_83
Dzięki wielkie - poradziłem sobie 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.