Witam pisze w sprawie skryptu newsów napisałem skrypt dodawania i wyswietlania i zaczełem pisać edycji i usuwania i pokazywania wybranego newsa:
index.php - główny plik wyświetlający newsy.
[php:1:eaab6801ce]<?php
mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("news") or
die ("Nie można połączyć się z bazą danych.;");
$pyt = ("SELECT * FROM news ORDER BY data DESC");
$result = mysql_query($pyt) or die ("Błąd zapytania: $pyt");
while($row = mysql_fetch_array($result)) {
echo "<table width="400" cellspacing="0" cellpadding="0" border="0" style="BORDER-RIGHT: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid;">";
echo "<tr>";
echo "<td>";
echo "<div id=t2>nr." . $row[0] . " " . $row[1] . "</div>";
echo "<a href="$row[2]" target="blank_"><img src=$row[2] width="250" height="180"></a> " . $row[3] ."";
echo "<br><div id=t1><p class=data>Data dodania:" . $row[6] ." Autor: <a href=mailto:" . $row[5] . " title="Autor newsa: $row[4]">" . $row[4] . "</a></div>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<br>";
}
?>[/php:1:eaab6801ce]
admin.php - plik z dodawaniem rekordów(bedzię głównym plikiem z opcjami administracyjnymi newsów) narazie tak jak jest
[php:1:eaab6801ce]<?php
mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("news") or
die ("Nie można połączyć się z bazą danych.;");
echo "<table width="600" cellspacing="0" cellpadding="0" border="1">";
echo "<tr>";
echo "<td>";
echo "<div id=t2>Dodawanie newsów:</div>";
echo "<form action="dodaj.php" enctype="multipart/form-data" method="post">";
echo "<input type="hidden" name="pyt" value="dodaj"><br>";
echo "Idnews:<font color=red>Wypis samoczynny.</font><br>";
echo "Nagłówek:<input type="text" name="naglowek"><br>";
echo "Zdjecie:<input type="text" name="image" size="40"><br>";
echo "Treść:<textarea name="tresc" cols="45" rows="15"></textarea><br>";
echo "User:<input type="text" name="user"><br>";
echo "Email:<input type="text" name="mail"><br>";
echo "Data: <font color=red>Wypis samoczynny.</font><br>";
echo "<input type="submit" value="Dodaj newsa">";
echo "<input type="reset" value="Wyczyść">";
echo "</form>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</tbody>";
?>[/php:1:eaab6801ce]
dodaj.php - plik wykonujący zapytanie dodające do tabeli news dane
[php:1:eaab6801ce]<?php
mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("news") or
die ("Nie można połączyć się z baz±");
if($pyt == 'dodaj') {
$pyt = "INSERT INTO news (idnews, naglowek, image, tresc, user, mail, data) VALUES ('$idnews', '$naglowek', '$image', '$tresc', '$user', '$mail', now());";
$wynik = mysql_query($pyt);
} else {
echo "Zapytanie zostało wykonane poprawnie wróć do panelu administracyjnego";
}
?>[/php:1:eaab6801ce]
opcje.php - plik mający za zadanie wyświetlić opcje Pokazywania danego newsa usuwania i edytowania
[php:1:eaab6801ce]<?php
mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("news") or
die ("Nie można połączyć się z bazą danych.;");
$pyt = ("SELECT * FROM news ORDER BY idnews DESC");
$result = mysql_query($pyt) or die ("Błąd zapytania: $pyt");
while($row = mysql_fetch_array($result)) {
echo "<a href=pokaz.php?f=show&id={$row['idnews']}>Pokaż news id {$row['idnews']}</a><br><br><a href=edit.php?f=edit&id={$row['idnews']}>Edytuj newsy</a> ";
echo "<a href=delete.php?f=delete&id={$row['idnews']}>Usuwaj newsy</a><br><hr width="160" color="black">";
}
?>[/php:1:eaab6801ce]
edit.php - plik który wyświetla formularz w którym jest wyświetlony dany news i można zmienić jego zawartośc(i tu jest błąd)
[php:1:eaab6801ce]<?php
mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("news") or
die ("Nie można połączyć się z bazą danych.;");
if ($pyt == 'dodaj') {
$pyt = ("SELECT * FROM news WHERE id='.$_GET['idnews'].')";
$result = mysql_query($pyt);
$row = mysql_fetch_array($result);
}
echo "<table width="600" cellspacing="0" cellpadding="0" border="1">";
echo "<tr>";
echo "<td>";
echo "<div id=t2>Edycja newsów:</div>";
echo "<form action="update.php" enctype="multipart/form-data" method="post">";
echo "<input type="hidden" name="pyt" value="popraw"><br>";
echo "Idnews:<font color=red>Wypis samoczynny.</font><br>";
echo "Nagłówek:<input type="text" name=" . $row['naglowek'] . "><br>";
echo "Zdjecie:<input type="text" name=" . $row['image'] . " size="40"><br>";
echo "Treść:<textarea name=" . $row['tresc'] . " cols="45" rows="15"></textarea><br>";
echo "User:<input type="text" name=" . $row['user'] . "><br>";
echo "Email:<input type="text" name=" . $row['mail'] . "><br>";
echo "Data: <font color=red>Wypis samoczynny.</font><br>";
echo "<input type="submit" value="Dodaj newsa">";
echo "<input type="reset" value="Wyczyść">";
echo "</form>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</tbody>";
?>[/php:1:eaab6801ce]
gdy w opcje.php wciskam Edytuj newsa i w linku jest jego id to wyskakuje mi taki błąd w edit.php
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:usrkrasnalwww1edit.php on line 8
update.php - plik który po wypełnieniu formularza w edit.php updatuje newsa
[php:1:eaab6801ce]<?php
mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("news") or
die ("Nie można połączyć się z bazą danych.;");
if ($pyt == 'popraw') {
$pyt = "UPDATE news SET idnews='$idnews', naglowek='$naglowek', image='$image', tresc='$tresc', user='$user', mail='$mail', data='$data' WHERE idnews='$idnews';";
$wynik = mysql_query ($pyt);
}
?>[/php:1:eaab6801ce]
pokaz.php - plik pokazujący wybranego newsa
[php:1:eaab6801ce]<?php
mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć się z MySQL.");
mysql_select_db ("news") or
die ("Nie można połączyć się z bazą danych.");
if($pyt == 'pokaz') {
$pyt = ("SELECT * FROM news WHERE id=' . $_GET['idnews'] . '")";
$result = mysql_query($pyt);
$row = mysql_fetch_array($result);
echo "<table width="400" cellspacing="0" cellpadding="0" border="0" style="BORDER-RIGHT: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid;">";
echo "<tr>";
echo "<td>";
echo "<div id=t2>nr." . $row['idnews'] . " " . $row['naglowek'] . "</div>";
echo "<a href=" . $row['image'] . " target="blank_"><img src=" . $row['image'] . " width="250" height="180"></a> " . $row['tresc'] ."";
echo "<br><div id=t1><p class=data>Data dodania:" . $row['data'] ." Autor: <a href=mailto:" . $row['user'] . " title="Autor newsa: $row['user']">" . $row['user'] . "</a></div>";
echo "</td>";
echo "</tr>";
echo "</table>";
}
?>[/php:1:eaab6801ce]
i tu też jest błąd
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:usrkrasnalwww1pokaz.php on line 7
=================================
I teraz jest jeszcze jedna sprawa istotna prosze was żeby odpowiedzie niebyły takie tu masz przerobiony skrypt jest dobrze tylko żebyście dawali wskazuwki, i jeszcze chciałbym zrobić jak zrobić system uwierzytelniania żeby nikt niemiał dostępu do plików np.dodaj.php tylko po zalogowaniu można było tam wejsc prosze o funkcje a nie skrypt będe próbował sam jeśli mi niewyjdzie to poprosze wtedy o pomocną dłoń.
I jeszcze dam zapytanie żeby można było przetestować skrypt:
[sql:1:eaab6801ce]
==============================
Tworzymy tabele news z polami:
==============================
CREATE TABLE `news` (
`idnews` INT( 11 ) NOT NULL ,
`naglowek` TEXT NOT NULL ,
`image` TEXT NOT NULL ,
`tresc` TEXT NOT NULL ,
`user` TEXT NOT NULL ,
`mail` TEXT NOT NULL ,
`data` DATETIME DEFAULT 'now();
' NOT NULL
);
===============================
Mastępnie aktualizujemy idnews:
===============================
ALTER TABLE `news` DROP
PRIMARY KEY ,
ADD
PRIMARY KEY ( `idnews` )
==============================
I na koniec:
==============================
ALTER TABLE `news` CHANGE `idnews` `idnews` INT( 11 ) DEFAULT '0' NOT NULL AUTO_INCREMENT
==============================
[/sql:1:eaab6801ce]