Próbuję zrobić uploadowanie plików. Pomimo to, że działa dodawanie i usuwanie mam problem z edytowaniem danych. Nie wiem gdzie tkwi problem. Bardzo bym prosił o chociaż najmniejszą pomocną dłoń.
<?php
//stosować tylko do projektu do wyszukania błędów
// usunąć po zakończeniu projektowania
//wysyła we wszystkich przypadkach, również bez podania pliku, chociaż jest warunek, że nie mogą być puste pola
// również we wiadomosci oraz wykładowcy
//załączenie plików
//include ('../meta.php');
//include ('../gora_logo.php');
//include ('./menu_admin.php');
include ('../dodatki/bonus.php');
polacz_baza();
function add_file () {
echo "<h1>INSTRUKCJE - DODAWANIE I WYŚWIETLANIE</H1>"; echo '<form enctype="multipart/form-data" action="instrukcje.php" method="post"> Tytuł instrukcji: <input type="text" name="tytul_plik" /><br />
opis_plik: <textarea name="opis_plik" cols="50" rows="10"></textarea><br />
Autor: <input type="text" name="wykladowca_plik" /><br />
<input type="hidden" name="MAX_FILE_SIZE" value="1240000" />
Plik (max 1 MB):<input name="plik" type="file" />
<input type="submit" name="submit" value="wyślij plik" />
</form>';
}
echo '<table bgcolor="white" width="900" cellspacing="0" cellpadding="10" border="1" align="center"> <tr>
<td colspan="2" align="center" valign="middle">';
/////////////////////////////////////////
/////////////////////////////////////////
//SPRAWDZIĆ DANE WYSYŁANE PRZEZ FORMULARZ
/////////////////////////////////////////
/////////////////////////////////////////
//sprawdzenie czy istnieją zmienne
if (isset($_POST['tytul_plik']) && isset($_POST['opis_plik']) && isset($_POST['wykladowca_plik']) && isset($_POST['plik'])) {
//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']) || isset($_POST['popraw'])) {
if (empty($_POST['tytul_plik']) || empty($_POST['opis_plik']) || empty($_POST['wykladowca_plik'])) {
echo 'Nie podano wszystkich danych'; }
//dodawanie danych do bazy
else {
$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
// $plik_rozmiar = $_FILES['plik']['size'];
{
echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze <strong> plik_rozmiar bajtów</strong> został przesłany na serwer!";
} else {
echo "Nie udało się wysłać pliku <strong>$plik_nazwa</strong> na serwer"; }
$zapytanie = "INSERT INTO instrukcje VALUES (NULL, '".$tytul_plik."', '".$opis_plik."', '".$wykladowca_plik."', '".$plik_nazwa."')";
}
}
//sprawdzenie czy istnieją zmienne
if (isset($_GET['co']) && isset($_GET['id']) && $_GET['co'] == 'skasuj') {
$wynik = mysql_query("DELETE FROM instrukcje WHERE id = '".$_GET['id']."'"); add_file();
//sprawdzenie czy istnieją zmienne
} elseif (isset($_POST['co']) && $_POST['co'] == 'popraw') {
if ($_POST['tytul_plik'] && $_POST['opis_plik'] && $_POST['wykladowca_plik'])
{
$popraw = mysql_query("UPDATE instrukcje SET tytul = '".$tytul_plik1."', opis = '".$opis_plik."', wykladowca = '".$wykladowca_plik."' WHERE id = '".$_POST['id']."';") or
}
else
{
echo '<b>Wpis nie został zaktualizowany. Przynajmniej jedno z pól nie zostało wypełnione.<br /> Popraw to!</b><br />'; }
add_file();
}
//sprawdzenie czy istnieją zmienne
elseif (isset($_GET['co']) && $_GET['co'] == 'edytuj') {
$edycja = mysql_query("SELECT * FROM instrukcje WHERE id = '".$_GET['id']."';"); $nrid = $rekord['id'];
$tytul_plik = $rekord['tytul'];
$opis_plik = $rekord['opis'];
$wykladowca_plik = $rekord['wykladowca'];
$plik = $rekord['plik'];
echo "<table border=\"1\"> <tr>
<td width=\"120\"><form action=\"instrukcje.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_plik\" value=\"".htmlspecialchars($tytul_plik)."\"><br /></td> </tr><tr>
<td width=\"120\">Treść wiadomości:<textarea name=\"text\" cols=\"50\" rows=\"10\">".htmlspecialchars($opis_plik)."</textarea><br /></td> </tr><tr>
<td width=\"120\">Autor:<input type=\"number\" name=\"autor\" min=\"0\" max=\"7\" value=\"".htmlspecialchars($wykladowca_plik)."\"><br /></td> </tr><tr>
<td>Nazwa pliku: ".$plik."</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
} else
{
add_file();
}
$wynik = mysql_query("SELECT * FROM instrukcje 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\">opis_plik</td> <td width=\"10\">wykladowca_plik</td>
<td>Plik</td>
<td width=\"50\">Usuwanie
</td><td>Edytowanie</td></tr>";
//wyświetlanie danych z bazy komórka po komórce
$nrid = $rekord['id'];
$tytul_plik = $rekord['tytul'];
$opis_plik = $rekord['opis'];
$wykladowca_plik = $rekord['wykladowca'];
$plik = $rekord['plik'];
echo "<tr><td width=\"30\">".$nrid."</td><td width=\"100\">".stripslashes($tytul_plik)."</td> <td width=\"120\">".$plik."</td>
<td><a href=\"instrukcje.php?co=skasuj&id=$nrid\">usuń</a></td><td>
<a href=\"instrukcje.php?co=edytuj&id=$nrid\">edytuj</a></td></tr>";
}
</tr>
</table>";
include ('../stopka.php');
</html>";
?>
Kod
Notice: Undefined index: opis_plik in C:\Program Files (x86)\WebServ\httpd-users\praca\admin\instrukcje.php on line 86
Jest ktoś w stanie pomóc?
Ten post edytował radziowie 17.11.2010, 17:52:33