![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 16.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam problem z edycją danych w bazie za pomoca formularza php: Kod <meta content="text/html; charset=UTF-8" http-equiv="Content-type"> </meta> Dzisiaj jest: <?php $link = mysqli_connect('xxxxxxxx' , 'xxxxxxxxxxxxx' , 'xxxxxxxxxxx'); if (!$link) { $output = 'Nie można połączyć się z serwerem bazy danych'; exit(); } if (!mysqli_set_charset($link, 'utf8')) { $output = 'Nie można ustalić kodowania dla połączenia z bazą danych.'; exit(); } if (!mysqli_select_db($link, 'xxxxxxxxxxxxxx')) { $output = 'Nie znaleziono bazy danych.'; exit(); } $result = mysqli_query($link, 'SELECT * FROM kalendarz WHERE nr_zadania = 0'); if (!$result) { $error = 'Błąd odczytu:' . mysqli_error($link); exit(); } while ($row = mysqli_fetch_array($result)) { $daty[] = array('id' => $row['id'], 'data' => $row['data'], 'nr_zadania' => $row['nr_zadania'], 'prelegent' => $row['prelegent']); } echo date("Y-m-d"); if (isset($_POST['rezerwuj'])) { include 'db.inc.php'; $id = mysqli_real_escape_string($link, $_POST['id']); $data = mysqli_real_escape_string($link, $_POST['data']); $nr_zadania = mysqli_real_escape_string($link, $_POST['nr_zadania']); $prelegent = mysqli_real_escape_string($link, $_POST['prelegent']); $sql = "UPDATE kalendarz SET nr_zadania='$nr_zadania', prelegent='$prelegent' WHERE id='$id'"; if (!mysqli_query($link, $sql)) { $error = 'Wystąpił błąd podczas rejestracji'; } echo 'Informację wysłano'; exit(); } ?> <br><br> <b>Dostępne terminy spotkań:</b><br> <?php foreach ($daty as $data): ?> <form method="post"> <input type="hidden" name="id" id="id" value="<?php echo htmlspecialchars($data['id'], ENT_QUOTES, 'UTF-8'); ?>" /> <?php echo htmlspecialchars($data['data'], ENT_QUOTES, 'UTF-8'); ?> <input type="text" name="nr_zadania" id="nr_zadania" value="<?php echo htmlspecialchars($data['nr_zadania'], ENT_QUOTES, 'UTF-8'); ?>"/> <input type="text" name="prelegent" id="prelegent" value="<?php echo htmlspecialchars($data['prelegent'], ENT_QUOTES, 'UTF-8'); ?>"/> <input type="submit" name="rezerwuj" value="Rezerwuj" /> <br> <?php endforeach; ?> W formularzu chodzi o to, że pobiera on z bazy danych terminy (id, data) możliwych spotkań (tam gdzie nr_zadania < 0). Użytkownik może podać swój nr zadania i prelegenta. Po wysłaniu formularza dane w bazie danych powinny zostać zaktualizowane o te informacje, a daty z uzupełnionymi polami (prelegent oraz nr_zadania) nie wyświetlone ponownie. Pisałem to na podstawie jakiegoś innego formularza, ale niestety po kliknięciu rezerwuję, pojawia się napis "Informację wysłano", ale dane w bazie nie są aktualizowane. Proszę o pomoc i z góry dziękuje. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Brak daty w formularzu, co możesz sprawdzić w następujący sposób
ps. po co ci zmienna $output skoro i tak jej nie używasz... ? ps2. zamiast jakiegoś niespójnego komunikatu daj Ten post edytował CuteOne 16.10.2012, 13:16:05 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 16.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Supe, dzięki za pomoc...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 16:39 |