Zrobiłem sobie skrypt dodawania wiadomości. Teraz zwróciłem uwagę, że dodająć np. tytuł z cudzysłowiem czyli
" tytuł " to podczas edycji to pole mam puste. Jednakże gdy zapisze dane z owym pustym polem to w tabeli nadal mam
" tytuł ".
Drugie co zauważyłem to to, że nie mogę edytować wyłącznie tylko tych rekordów gdzie się znajduje owy tytuł z cudzysłowami.
<?php
//stosować tylko do projektu do wyszukania błędów
// usunąć po zakończeniu projektowania
//załączenie plików
include ('../meta.php');
include ('../gora_logo.php');
include ('./menu_admin.php');
include ('../dodatki/bonus.php');
polacz_baza();
function add_news () {
echo "<h1>NEWSY - DODAWANIE I WYŚWIETLANIE</H1>"; echo '<form action="wiadomosci.php" method="post"> Tytuł wiadomości: <input type="text" name="tytul" /><br />
Treść wiadomości: <textarea name="text" cols="50" rows="10"></textarea><br />
Autor: <input type="text" name="autor" /><br />
<input type="submit" name="submit" value="wyślij" />
</form>';
} ?>
<table bgcolor="white" width="900" cellspacing="0" cellpadding="10" border="1" align="center">
<tr>
<td colspan="2" align="center" valign="middle">
<?php
//sprawdzenie czy istnieją zmienne
if (isset($_POST['tytul']) && isset($_POST['text']) && isset($_POST['autor'])) { //mysql_real_escape_string Dodaje znaki unikowe w łańcuchu znaków do użycia w instrukcji SQL, trim wycina spacje
}
//sprawdza czy istnieje zmienna$_POST['submit'], czyli czy nastąpiło wysłanie danych
if (isset($_POST['submit'])) { //dodawanie danych do bazy
$zapytanie = "INSERT INTO newsy VALUES (NULL, '".$tytul."', '".$text."', '".$autor."', '".$data."')";
}
//sprawdzenie czy istnieją zmienne
if (isset($_GET['co']) && isset($_GET['id']) && $_GET['co'] == 'skasuj') { $wynik = mysql_query("DELETE FROM newsy WHERE id = '".$_GET['id']."'"); add_news();
//sprawdzenie czy istnieją zmienne
} elseif (isset($_POST['co']) && $_POST['co'] == 'popraw') { if ($_POST['tytul'] && $_POST['text'] && $_POST['autor']) {
$popraw = mysql_query("UPDATE newsy SET tytul = '".$_POST['tytul']."', text = '".$_POST['text']."', autor = '".$_POST['autor']."' WHERE id = '".$_POST['id']."';")
add_news();
}
}
//sprawdzenie czy istnieją zmienne
elseif (isset($_GET['co']) && $_GET['co'] == 'edytuj') { $edycja = mysql_query("SELECT * FROM newsy WHERE id = '".$_GET['id']."';"); $nrid = $rekord['id'];
$tytul = $rekord['tytul'];
$text = $rekord['text'];
$autor = $rekord['autor'];
$data = $rekord['data'];
echo "<table border=\"1\"> <tr>
<td width=\"120\"><form action=\"wiadomosci.php\" method=\"post\">
nr id: ".$nrid."<input type=\"hidden\" name=\"co\" value=\"popraw\">
<input type=\"hidden\" name=\"id\" value=\"".$nrid."\"><br /></td>
</tr><tr>
Tytuł:<input type=\"text\" name=\"tytul\" value=\"".stripslashes($tytul)."\"><br /></td> </tr><tr>
<td width=\"120\">Treść wiadomości:<textarea name=\"text\" cols=\"50\" rows=\"10\">".stripslashes($text)."</textarea><br /></td> </tr><tr>
<td width=\"120\">Autor:<input type=\"number\" name=\"autor\" min=\"0\" max=\"7\" value=\"".stripslashes($autor)."\"><br /></td> </tr><tr>
<td>Data: ".$data."</td>
</tr><tr>
<td align=\"center\"><input type=\"submit\" name =\"popraw\" value=\"popraw\"><br />
</form></td>
</tr>
</table>";
//sprawdza czy nie istnieje zmienna $_GET['co'], jeśli nie istnieje wtedy wyświetlany jest funkcja add_news(), czyli formularz
} elseif (!isset($_GET['co'])) { add_news();
}
$wynik = mysql_query("SELECT * FROM newsy ORDER BY id DESC;") or
//liczba rekordów
echo "Znaleziono: ".$ile." rekordów"; echo "<table border=\"1\" width=\"750\"><tr><td width=\"30\">Nr. ID</td><td width=\"100\">Tytuł</td><td width=\"400\">Text</td> <td width=\"10\">autor</td>
<td>data</td>
<td width=\"50\">Usuwanie
</td><td>Edytowanie</td></tr>";
//wyświetlanie danych z bazy komórka po komórce
$nrid = $rekord['id'];
$tytul = $rekord['tytul'];
$text = $rekord['text'];
$autor = $rekord['autor'];
$data = $rekord['data'];
echo "<tr><td width=\"30\">".$nrid."</td><td width=\"100\">".stripslashes($tytul)."</td> <td width=\"120\">".$data."</td>
<td><a href=\"wiadomosci.php?co=skasuj&id=$nrid\">usuń</a></td><td>
<a href=\"wiadomosci.php?co=edytuj&id=$nrid\">edytuj</a></td></tr>";
}
?>
</tr>
</table>
<?php
include ('../stopka.php');
?>
</body>
</html>