![]() |
![]() |
-smutny1221- |
![]() ![]()
Post
#1
|
Goście ![]() |
Witam,
proszę o pomoc w rozwiązaniu problemu, który polega na tym, że księga gości, którą pisałem na podstawie podręcznika nie działa, a mianowicie nie wyświetla danych podanych w formularzu. baza-danych.php Kod <html> <body> <?php $DB = new PDO( 'mysql:host=localhost;dbname=strona_www', 'strona_www', 'szachy1221', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'", PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION) ); ?> </body> </html> dodaj-wpis.php Kod <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Dodawanie wpisu do ksiegi gosci</title> </head> <body> <h1>Dodawanie wpisu do ksiegi gosci</h1> <?php require('baza-danych.php'); $wyswietlFormularz=true; if(isset($_POST['dodaj'])) { $imie = $_POST['imie']; $email = $_POST['email']; $wpis = $_POST['wpis']; $znalezionoBledy = false; if(!$znalezionoBledy) { $statment = $DB->prepare('INSERT INTO ksiega_gosci_wpisy (Imie, Email, Wpis, Czas_dodania) VALUES(imie, email, wpis, NOW())'); $statment->execute(array(':imie' => $imie, ':email' => $email, ':wpis' => $wpis)); echo('dziekujemy za dodanie wpisu. <a href="ksiega.php">Przejdz dalej</a>, aby zobaczyc dodany wpis.</p>'); $wyswietlFormularz = false; } } if($wyswietlFormularz) {?> <form method="post" action="dodaj-wpis.php"> <p>Imie: <br> <input type="text" name="imie" value="" > </p> <p> email: <br> <input type="text" name="email" value=""></p> <p>Tresc wpisu: <br> <textarea name="wpis"></textarea></p> <p><input type="submit" name="dodaj" value="Dodaj wpis"></p> </form> <?php } ?> </body> </html> ksiega.php Kod <html>
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Ksiega gosci</title> </head> <body> <h1>Ksiega gosci</h1> <hr /> <?php require('baza-danych.php'); foreach($DB->query('SELECT * FROM ksiega_gosci_wpisy') as $row) { echo('<b>Imie: </b> '.htmlspecialchars($row['Imie']).'<br>'); echo('<b>E-mail: </b> '.htmlspecialchars($row['Email']).'<br>'); echo('<p>'.nl2br(htmlspecialchars($row['Wpis'])).'</p>'); echo('<b>Cas dodania: </b> '.$row['Czas_dodania'].'<br>'); echo('<hr>');} ?> <p><a href="dodaj-wpis.php">Dodaj nowy wpis</a></p> </body> </html> |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
A jesteś pewny, że dodaje bo bazy prawidłowo?
Jeśli dodajesz imie to czemu zamieniasz :imie? Prawidłowo jest tak
Ten post edytował Turson 26.09.2013, 21:20:53 |
|
|
-smutny1221- |
![]()
Post
#3
|
Goście ![]() |
Dzięki, teraz działa, tylko że kiedy próbuję dodać nowy wpis i podaję ten sam nick co wcześniej, wyświetla się komunikat:
Kod Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'asd' for key 'Wpis'' in C:\xampp-portable\htdocs\dodaj-wpis.php:19 Stack trace: #0 C:\xampp-portable\htdocs\dodaj-wpis.php(19): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp-portable\htdocs\dodaj-wpis.php on line 19 Co można poprawić, aby tak się nie działo? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Co zrobić? Przebudować tabelę. Aktualnie masz, że nowy rekord w kolumnie `Wpis` nie może się duplikować.
|
|
|
-smutny1221- |
![]()
Post
#5
|
Goście ![]() |
To wiem, tylko nie wiem jak to zrobić i nie bardzo mam się skąd dowiedzieć, poza tym forum, więc pomóżcie, proszę
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
To wiem, tylko nie wiem jak to zrobić i nie bardzo mam się skąd dowiedzieć, poza tym forum, więc pomóżcie, proszę ![]() Usuń unikalny indeks dla tego pola z tabeli. -------------------- Google knows the answer...
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Dokładniej:
PhpMyAdmin->baza danych `strona_www`->tabela `strona_www`->Struktura (poziome menu o góry)->kolumna `wpis` |
|
|
![]()
Post
#8
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Albo prościej: baza > tabela > Indeksy.
-------------------- Google knows the answer...
|
|
|
-smutny1221- |
![]()
Post
#9
|
Goście ![]() |
Dzieki za pomoc, temat do zamkniecia.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.06.2025 - 14:37 |