Πως να κάνετε ένα συστημα διαχείρισης νέων για το site σας,

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Πως να κάνετε ένα συστημα διαχείρισης νέων για το site σας,

Δημοσίευση από Banavas » 23 Ιαν 2008 20:32

Πρόσφατα μου ζητήθηκε για ένα site που κατασκεύασα να προσθέσω ένα σύστημα διαχείρισης νέων. Τελευταία όλο και περισσότερα site χρησιμοποιούν κάποιο τέτοιο σύστημα για να δημοσιεύουν νέα. Με αφορμή το γεγονός αυτό έγραψα αυτό το βοήθημα για όλους εσάς που θέλετε να εμπλουτίσετε το site σας με ένα τέτοιο σύστημα.

Επειδή το site που έκανα δεν χρησιμοποιούσε κάποια βάση δεδομένων αποφάσισα να κρατάω τα νέα σε αρχείο κάτι που κάνει πιο εύκολη τη χρήση του από χρήστες που δεν γνωρίζουν πως να δημιουργήσουν και να χειριστούν μια βάση στο site τους.

Το όνομα του αρχείου που θα κρατάει τα νέα το ονόμασα (μαντέψτε) news.txt. Κάθε γραμμή αποτελεί ένα νέο. Για κάθε νέο θα κρατάμε ποιος το έστειλε πότε το έστειλε και φυσικά το νέο που έγραψε. Για να μπορέσουμε να τα κρατάμε όλα αυτά σε μία γραμμή και να μην μπερδεύονται θα τα χωρίσουμε μεταξύ τους με το σύμβολο | (κάθετη γραμμή). Αυτό σημαίνει οτι ο χρήστης δεν μπορεί να περιλάβει το σύμβολο αυτό στο κείμενό του γιατί κάτι τέτοιο θα μπέρδευε εμάς όταν πάμε να διαχωρίσουμε τα στοιχεία του νέου.

Αρχικά χρειαζόμαστε μία φόρμα από την οποία εμείς ή οι χρήστες θα στέλνουν νέα για καταχώρηση στο αρχείο μας.

Η φόρμα εισαγωγής νέων:

Κώδικας: Επιλογή όλων

<FORM ACTION="<? $PHP_SELF ?>" METHOD="POST" NAME="newsform">
Όνομα&#58;<BR>
<INPUT TYPE="text" SIZE="30" NAME="name"><BR><BR>
Κείμενο νέου&#58;<BR>
<textarea name="news" cols="50" rows="5"></textarea><BR><BR>
Password για αποστολή νέων&#58;<BR>
<INPUT TYPE="password" SIZE="20" NAME="password"><BR><BR>   
<INPUT TYPE="submit" NAME="submit" VALUE="Αποστολή"><BR>
</FORM>
Πολύ απλή και κατανοητή για τον καθένα. Ένα μόνο σημείο χρειάζεται εξήγηση το <? $PHP_SELF ?>. Αυτό είναι εντολή της PHP ώστε η φόρμα να στείλει τα δεδομένα στο ίδιο αρχείο με αυτό της φόρμας. Για να λειτουργήσει αυτή η εντολή πρέπει το αρχείο στο οποίο βρίσκεται η φόρμα να έχει κατάληξη .php αντί για .htm ή ότι άλλο. Αν το αρχείο που θέλετε να ενσωματώσετε την φόρμα έχει κατάληξη .htm μπορείτε απλά να την αλλάξετε σε .php και αυτό διότι στην ίδια σελίδα θα προσθέσουμε και τον κώδικα που θα ελέγχει τα στοιχεία που έδωσε ο χρήστης και θα τα καταχωρεί στο αρχείο.

Όπως βλέπετε στην φόρμα ένα από τα ζητούμενα πεδία είναι password. Η χρήση του password είναι για να αποτρέψει τους μη εξουσιοδοτημένους χρήστες να στέλνουν ότι θέλουν στο site μας. Έτσι όποιος θέλει να στείλει ένα νέο πρέπει να γνωρίζει το password που θα έχετε ορίσει εσείς τροποποιόντας το "pass" που αποτελεί το password για το παράδειγμά μας.

Αν δεν θέλετε τη χρήση του password ώστε οποιοσδήποτε να μπορεί να στείλει ένα νέο τότε διαγράψτε όλες τις σειρές στον παρακάτω κώδικα που είναι μαρκαρισμένες με //1*


Ο κώδικας που θα ελέγχει τα στοιχεία που έστειλε ο χρήστης:

Κώδικας: Επιλογή όλων

<?php

$submit = $_POST&#91;'submit'&#93;; // 

if&#40;$submit&#41; &#123;   // εδώ ελέγχουμε αν έχει γίνει αποστολή της φόρμας

	$name = $_POST&#91;'name'&#93;;
	$news = $_POST&#91;'news'&#93;;
	$password = $_POST&#91;'password'&#93;; //1*


	if&#40;$_POST&#91;'password'&#93; == 'pass'&#41; &#123;  // 1*  πρώτα ελέγχουμε αν ο χρήστης έδωσε σωστό password 
		if&#40;!$_POST&#91;'name'&#93;&#41; &#123;       // έπειτα αν δεν έχει δώσει όνομα
			echo "Πρέπει να δώσετε όνομα"; // οπότε τον ενημερώνουμε οτι παρέλειψε το όνομα
			exit; // και σταματάμε την εκτέλεση του script
		&#125;
		if&#40;!$_POST&#91;'news'&#93;&#41; &#123;  // αντίστοιχα ελέγχουμε αν έδωσε κείμενο για το νέου
			echo "Πρέπει να γράψετε κάποιο κείμενο νέων";
			exit;
		&#125;
		$name = preg_replace&#40;"'\|'", "", $name&#41;; // εδώ ελέγχουμε αν ο χρήστης έχει δώσει το σύμβολο | 
		$news = preg_replace&#40;"'\|'", "", $news&#41;; // και το αφαιρούμε αντικαθιστώντας το με τίποτα &#40;""&#41; 
		
		$fp = fopen&#40;'news.txt','a'&#41;; // εφόσον ισχύουν οι προϋποθέσεις που θέσαμε ανοίγουμε το αρχείο
					     // για να προσθέσουμε την εγγραφή.
		if&#40;!$fp&#41; &#123; // Αν συμβεί κάποιο πρόβλημα με το άνοιγμα του αρχείου 
		echo "Πρόβλημα με το άνοιγμα του αρχείου!";  // ενημερώνετε ο χρήστης 
		exit; // και η εκτέλεση σταματάει
		&#125;
		
		$line = date&#40;"d.m.Y"&#41; . "|" . $name;
		$line .= "|" . $news;
		$line = str_replace&#40;"\r\n","<BR>",$line&#41;;
		$line .= "\r\n";
		// στις παραπάνω σειρές δημιουργούμε το string που θα εγγράψουμε στο αρχείο. 
		// στην τρίτη σειρά αντικαθιστούμε τις αλλαγές σειρών με την εντολή <br> της html 
		// ώστε να μην μας χαλάσει το αρχείο με αλλαγές γραμμών.

		fwrite&#40;$fp, $line&#41;; //εδώ γίνεται η εγγραφή του νέου στο αρχείο σαν μια σειρά
		if&#40;!fclose&#40;$fp&#41;&#41; &#123; //αντίστοιχα με το άνοιγμα του αρχείου ελέγχουμε αν έκεισε σωστά 
			echo "Πρόβλημα με το κλείσιμο του αρχείου!";
			exit;
		&#125;else&#123;
			echo "η αποστολή νέων ολοκληρώθηκε <br>"; // ενημερώνουμε οτι έγινε η εγγραφή του νέου
			echo "<a href=\"javascript&#58; history.back&#40;&#41;\"> επιστροφή </a><br>"; 
			echo "<a href=\"view.php\"> Εμφάνιση νέων </a>"; 			
		&#125;	
		
	&#125; else &#123; // 1*
		echo "Λάθος Password"; // 1* εαν το password ήταν κενό ή λάθος τότε παρακάμπτεται 
	&#125; // 1*				     η παραπάνω διαδικασία και βγαίνει αυτό το μήνυμα

&#125;else&#123; // Αν δεν έχει προηγηθεί αποστολή στοιχείων, εμφανίζεται η φόρμα αποστολής νέων.
	// την επαναλαμβάνω εδώ για να είναι ολοκληρωμένο το script  εισαγωγής νέων.

<FORM ACTION="<? $PHP_SELF ?>" METHOD="POST" NAME="newsform">
Όνομα&#58;<BR>
<INPUT TYPE="text" SIZE="30" NAME="name"><BR><BR>
Κείμενο νέου&#58;<BR>
<textarea name="news" cols="50" rows="6"></textarea><BR><BR>
Password για αποστολή νέων&#58;<BR>
<INPUT TYPE="password" SIZE="20" NAME="password"><BR><BR> // 1*
<INPUT TYPE="submit" NAME="submit" VALUE="Αποστολή"><BR>
</FORM>
&#125;
?>
Εδώ ολοκληρώνεται η διαδικασία εγγραφής ενός νέου στο αρχείο news.txt. Μπορείτε να ενσωματώσετε τον παραπάνω κώδικα σε κάποια σελίδα σας ή να κάνετε ένα αυτοδύναμο αρχείο π.χ. form.php.

Σε αυτό το σημείο θέλω να τονίσω οτι οι φόρμες εισαγωγής στοιχείων είναι η κύρια πηγή προβλημάτων για την ασφάλεια ενός site. Αποτελούν την πύλη εισόδου των διαφόρων κακόβουλων χρηστών. Οι έλεγχοι που γίνονται στα στοιχεία που δίνει ο χρήστης είναι στοιχειώδης για την λειτουργία του συστήματος των νέων χωρίς να διασφαλίζουν το site από κακόβουλες προθέσεις. Καλό θα ήταν να ανατρέξετε σε άλλα βοηθήματα για το πως θα φιλτράρετε τα δεδομένα που εισάγει ο χρήστης.

Το επόμενο βήμα είναι να διαβάσουμε το αρχείο με τα νέα και να τα εμφανίσουμε σε κάποια σελίδα μας. Στο παράδειγμα μας εμφανίζονται μόνα τους σε ένα αρχείο view.php αλλά εσείς μπορείτε να ενσωματώσετε τον κώδικα σε μια δική σας σελίδα που εκτός των άλλων θα εμφανίζει και τα νέα. Και αυτή η σελίδα θα πρέπει να έχει επέκταση .php για να μπορεί να εκτελέσει τον κώδικα εμφάνισης των νέων.

Ο κώδικας εμφάνισης των νέων:

Κώδικας: Επιλογή όλων

<?php
$data = file&#40;'news.txt'&#41;;    // καθορισμός του αρχείου που βρίσκονται τα νέα
$data = array_reverse&#40;$data&#41;;  // αντιστροφή των νέων ώστε τα πιό πρόσφατα να διαβαστούν πρώτα 
foreach&#40;$data as $element&#41; &#123;   // βρογχος ανάγνωσης των data.
	$element = trim&#40;$element&#41;;    //αποκοπή των κενών
	$pieces = explode&#40;"|", $element&#41;;  //  διάσπαση της γραμμής σε τμήματα ανάμεσα στο |

// το παρακάτω εμφανίζει τα νέα, μπορείτε να αλλάξετε την μορφοποίηση όπως θέλετε
//==============================================================================
	echo $pieces&#91;2&#93; . "<BR>" . "<b>Στάλθηκε από " . $pieces&#91;1&#93; . 
	" στις " . $pieces&#91;0&#93; . "</b><BR><BR>";    
//============================================================================== 
&#125;
?>


Στην συνέχεια θα δούμε πώς μπορούμε να διαχειριστούμε τα νέα διαγράφοντας όσα δεν θέλουμε ή διορθώνοντας το περιεχόμενό τους. τις δύο αυτές διαδικασίες τις περιέλαβα σε ένα αρχείο διαχείρισης με όνομα newsadmin.php.

Κώδικας: Επιλογή όλων

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7" />
<title>Διαχείριση νέων</title>
</head>

<body>
<p><a href="form.php">Εισαγωγή καινούριου νέου</a></p>
<hr />
<p>


<?php



$action=$_GET&#91;'action'&#93;; 
$id = $_GET&#91;'id'&#93;; 

//================================ΔΙΑΓΡΑΦΗ ======================================


if&#40;$action == "delete"&#41; &#123;  //  εδώ αναγνωρίζει αν ο χρήστης πάτησε delete
	echo "<H2>ΔΙΑΓΡΑΦΗ ΝΕΩΝ.</H2>\n";  // επικεφαλίδα
	$data = file&#40;'news.txt'&#41;;         // ορισμός του αρχείου με τα data
	$element = trim&#40;$data&#91;$id&#93;&#41;;  
	$pieces = explode&#40;"|", $element&#41;; //ανάλυση του string στα συστατικά του
	echo $pieces&#91;2&#93; . "<BR>" . "<b>Στάλθηκε από " . $pieces&#91;1&#93; . " στις " . $pieces&#91;0&#93; . "</b>\n";
	echo "<BR><BR>\n";  //εκτύπωση του νέου στη σελίδα για επιβεβαίωση
	echo "Θέλετε σίγουρα να διαγράψετε αυτό το νέο. Η διαδραφή θα είναι οριστική.";
	echo "<FORM ACTION=\"".$PHP_SELF."?action=delete2&id=".$id."\" METHOD=\"POST\"   NAME=\"deleteform\">\n"; //επιβεβαίωση
	echo "Password&#58;<BR>\n"; 
	echo "<INPUT TYPE=\"password\" SIZE=\"30\" NAME=\"password\"><BR>\n";  // password διαγραφής
	echo "<INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"Διαγραφή\"><BR>\n" ; //πλήκτρο διαγραφής
	echo "</FORM>\n";
exit; 
&#125;
if&#40;$action == "delete2" &#41; &#123;
$password = $_POST&#91;'password'&#93;;
	if&#40;$password == "pass"&#41; &#123;
		$data = file&#40;'news.txt'&#41;;
		array_splice&#40;$data,$id,1&#41;;
		$fp = fopen&#40;'news.txt','w'&#41;;
			foreach&#40;$data as $element&#41; &#123;
				fwrite&#40;$fp, $element&#41;;
			&#125;
		fclose&#40;$fp&#41;;
		echo "Η διαγραφή έγινε!<BR><BR>\n";
		echo "<a href=\"".$PHP_SELF."\">Επιστροφή</a>\n";
		exit;
	&#125; else &#123;                     // αν δεν δώθηκε password ή ήταν λάθος
	echo "Λάθος password!\n";    //μήνυμα λάθους
	exit;                        //σταμάτημα της εκτέλεσης
	&#125;
&#125;
//================================ΔΙΟΡΘΩΣΗ ======================================

if&#40;$action == "edit"&#41; &#123;

$data = file&#40;'news.txt'&#41;;    
$element = trim&#40;$data&#91;$id&#93;&#41;;         // διαβάζουμε από το αρχείο την εγγραφή 
$pieces = explode&#40;"|", $element&#41;;     // την διασπάμε στα συστατικά της για να τα περάσουμε στην φόρμα
$news = str_replace&#40;"<BR>","\r\n",$pieces&#91;2&#93;&#41;;   //αντικατάσταση των <br> με αλλαγή γραμμής 

echo "Κάντε τις αλλαγές που θέλετε και πατήστε ενημέρωση.<BR>\n";   //ενημερωτικό μήνυμα
echo "<FORM ACTION=\"".$PHP_SELF."?action=edit2&id=".$id."\" METHOD=\"POST\" NAME=\"editform\">\n";
echo "Όνομα&#58;<BR>\n";
echo "<INPUT TYPE=\"text\" SIZE=\"30\" NAME=\"name\" value=\"".$pieces&#91;1&#93;."\"><BR>\n";
echo "Νέο&#58;<BR>\n";
echo "<TEXTAREA NAME=\"news\" COLS=\"40\" ROWS=\"5\">".$pieces&#91;2&#93;."</TEXTAREA><BR><BR>\n";
echo "Password&#58;<BR>\n";
echo "<INPUT TYPE=\"password\" SIZE=\"30\" NAME=\"password\"><BR>\n";
echo "<INPUT TYPE=\"hidden\" NAME=\"date\" VALUE=\"".$pieces&#91;0&#93;."\">\n"; // κρατάμε την αρχική ημερομηνία
echo "<INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"Ενημέρωση\"><BR>\n";
echo "</FORM>\n";
exit;   //σταμάτημα της εκτέλεσης
&#125;

if&#40;$action == "edit2" &#41; &#123;

	if&#40;$_POST&#91;'password'&#93; == "pass"&#41; &#123;
		$line = $_POST&#91;'date'&#93; . "|" . $_POST&#91;'name'&#93;; // δημιουργία του string που θα εγγραφεί στο αρχείο
		$line .= "|" . $_POST&#91;'news'&#93;;
		$line = str_replace&#40;"\r\n","<BR>",$line&#41;;    // αντικατάσταση των αλλαγών γραμμής με <br>
		$line .= "\r\n";                             // προσθήκη αλλαγής γραμμής στο τέλος
		$data = file&#40;'news.txt'&#41;;   
		$data&#91;$id&#93; = $line;
		reset&#40;$data&#41;;
		$fp = fopen&#40;'news.txt','w'&#41;;                 //άνοιγμα του αρχείου 
			foreach&#40;$data as $element&#41; &#123;
				fwrite&#40;$fp, $element&#41;;       //εγγραφή
			&#125;
		fclose&#40;$fp&#41;; 				//κλείσιμο του αρχείου
		echo "Η διόρθωση έγινε!<BR><BR>\n";    // ενημερωτικό μήνυμα
		echo "<a href=\"".$PHP_SELF."\">Επιστροφή</a>\n";
		exit;
	&#125; else &#123;                              // αν δεν δώθηκε password ή ήταν λάθος
		echo "Λάθος password!\n";     //μήνυμα λάθους
		exit;                         //σταμάτημα της εκτέλεσης
	&#125; 
&#125;

//================================ΕΜΦΑΝΙΣΗ ======================================
// ο παρακάτω κώδικας εμφανίζει τα νέα και στο κάθε νέο αντιστοιχούν δύο 
// πλήκτρα -διαγραφή-διόρθωση- και χρησιμεύει για να επιλέξουμε ποια εγγραφή 
// θέλουμε να διαγράψουμε ή να διορθώσουμε οπότε πατάμε το αντίστοιχο πλήκτρο &#40;link&#41;.


$data = file&#40;'news.txt'&#41;;
//$data = array_reverse&#40;$data&#41;;
foreach&#40;$data as $key=>$element&#41; &#123;
	$element = trim&#40;$element&#41;;
	$pieces = explode&#40;"|", $element&#41;;
	echo $pieces&#91;2&#93; . "<BR>" . "<b>Στάλθηκε από " . $pieces&#91;1&#93; .
	" στις " . $pieces&#91;0&#93; . "</b>";
	echo " <a href=\"".$PHP_SELF."?action=delete&amp;id=$key\">Διαγραφή</a>\n";
	echo " <a href=\"".$PHP_SELF."?action=edit&amp;id=$key\">Διόρθωση</a>
	\n";
	echo "<BR><BR>\n";
&#125;

?>
</p>
</body>
</html>
END oF FILE newsadmin.php
============================

Συμβουλές:
=============
Mπορείτε να καταργήσετε τα password από το αρχείο διαχείρισης αν το τοποθετήσετε σε ένα κλειδωμένο κατάλογο στον οποίο θα έχετε πρόσβαση μόνον εσείς.
Το αρχείο news.txt πρέπει να βρίσκεται στον ίδιο κατάλογο με όλα τα άλλα αρχεία. Αν το μετακινήσετε θα πρέπει να αλλάξετε όλα τα link που αναφέρονται σε αυτό το αρχείο.
Αν είστε λίγο εξοικιωμένοι με την PHP μπορείτε να τροποποιήσετε το σύστημα νέων σύμφωνα με τις δικές σας ανάγκες π.χ. αν στέλνετε μόνο εσείς νέα μπορείτε να μην εμφανίζεται τον αποστολέα του νέου.
Μπορείτε πολύ εύκολα να αλλάξετε την μορφοποίηση είτε με CSS είτε προσθέτοντας εντολές html μέσα στον κώδικα.
Ένα άδειο news.txt δεν θα εμφανίσει κανένα νέο στη σελίδα σας και πιθανόν να νομίζετε οτι δεν εγκαταστάθηκε σωστά. Ξεκινήστε από την αποστολή νέων και βεβαιωθείτε (ανοίγοντας το αρχείο news.txt με το notepad) οτι η εγγραφή έγινε. Στη συνέχεια ανοίξτε την σελίδα όπου θα εμφανίζονται τα νέα και βεβαιωθείτε οτι όλα πήγαν καλά βλέποντας τα νέα στη σελίδα σας. Έπειτα μπορείτε να τεστάρεστε το αρχείο newsadmin.php

Σχόλια:
========
Αν και ο τρόπος υλοποίησης με αρχείο αντί για βάση δεδομένων είναι πιο απλός στην εγκατάσταση για τους χρήστες που δεν έχουν εμπειρία εισάγει κάποιους περιορισμούς στην χρήση σε σχέση με ένα αντίστοιχο σύστημα υλοποιημένο με βάση δεδομένων. Για παράδειγμα οι εγγραφές μπαίνουν στο αρχείο με την σειρά που καταχωρήθηκαν. Δεν μπορούμε να αλλάξουμε την σειρά των εγγραφών πχ κατά χρήστη, ή να επιλέξουμε για εμφάνιση ένα μέρος αυτών με κάποια κριτήρια. Επίσης μεγάλος όγκος νέων θα δημιουργήσει μεγάλο μέγεθος αρχείου με αποτέλεσμα καθυστερήσεις.
Παρόλα αυτά μπορεί να χρησημοποιηθεί άνετα για να εξυπηρετήσει τις ανάγκες ενός μικρού site.

Αν κάποιοι το χρησημοποιήσουν, στείλτε εδώ ένα link της σελίδας που περιέχει τα νέα για να αποτελέσει η δουλειά σας παράδειγμα εφαρμογής.

Για τους πολύ ανυπόμονους έχω βάλει όλα τα αρχεία που περιγράφω παραπάνω χωρίς τις επεξηγήσεις σε ένα zip αρχείο εδώ http://lasernet.gr/files/news.zip

that's all folks
Μπανάβας Μάρκος
Τελευταία επεξεργασία από το μέλος Banavas την 24 Ιαν 2008 18:54, έχει επεξεργασθεί 2 φορές συνολικά.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Πως να κάνετε ένα συστημα διαχείρισης νέων για το site σας,

Δημοσίευση από soteres2002 » 24 Ιαν 2008 04:07

Πολύ καλός - claps! Θα αγγίξεις και την τελειότητα αν προστατέψεις την αυθεντικοποίηση με ένα CAPTCHA. :wink:

zeppos
Δημοσιεύσεις: 431
Εγγραφή: 26 Μαρ 2006 10:43
Τοποθεσία: Kyklades
Επικοινωνία:

Πως να κάνετε ένα συστημα διαχείρισης νέων για το site σας,

Δημοσίευση από zeppos » 24 Ιαν 2008 10:03

Συγχαρητήρια Μάρκο για το βοήθημα που θα πρέπει να μεταφερθεί στην ενότητα "τα δικά μας scripts". Η μέθοδος μα τα αρχεία .txt είναι μια εύκολη και εύχρηστη μέθοδος για τέτοιες εφαρμογές. Την χρησιμοποιώ και γω πολύ συχνά και μάλιστα μπορώ να πω ότι με έχει βοηθήσει πάρα πολύ στην εκμάθηση και εξοικίωση με την php και όλα τα προβλήματα που παρουσιάζονται. Υπάρχουν πάρα πολλές παραλλαγές με αρκετές προσθήκες για ανέβασμα εικόνων κλπ. Επίσης αν κρατάς σε ένα αρχείο .txt τις ειδήσεις, μπορείς εύκολα με την προσθήκη πεδίου θέματος, να επιλέγεις τις ειδήσεις ανάλογα με το θέμα που θέλεις να παρουσιάσεις σε διαφορετικές σελίδες. Μπορείς επίσης να αλλάζεις την αποθήκευση των αρχείων news.txt ανάλογα με το έτος σε άλλο directory με απλές εντολές.. Παραμένει φυσικά το μέγα θέμα της ασφάλειας που όμως υφίσταται σε όλες τις φόρμες php..

Συμπληρώνω το μήνυμα με 1-2 ψιλοδιορθώσεις του κώδικα που τον δοκίμασα και δουλεύει άριστα. Στο τμήμα:
fwrite($fp, $line); //εδώ γίνεται η εγγραφή του νέου στο αρχείο σαν μια σειρά
if(!fclose($fp)) { αντίστοιχα με το άνοιγμα του αρχείου ελέγχουμε αν έκεισε σωστά
echo "Πρόβλημα με το κλείσιμο του αρχείου!";
exit;
}else{
echo "η αποστολή νέων ολοκληρώθηκε <br>"; ενημερώνουμε οτι έγινε η εγγραφή του νέου
Πριν από την λέξη "αντίστοιχα" και "ενημερώνουμε" των σχολείων, λείπουν οι 2 δεξιές slashes.
Και στο τέλος του php κώδικα και πριν την φόρμα λείπουν: } ?>

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Πως να κάνετε ένα συστημα διαχείρισης νέων για το site σας,

Δημοσίευση από Banavas » 24 Ιαν 2008 19:02

Παιδιά ευχαριστώ για τα καλά σας λόγια. :)
Έκανα τις αλλαγές (διορθώσεις του Ζέπου) στον κώδικα.
Ελπίζω να φανεί χρήσιμο, μην πάει τσάμπα τόσο γράψμο.... :-?
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

Πως να κάνετε ένα συστημα διαχείρισης νέων για το site σας,

Δημοσίευση από AAT » 03 Φεβ 2008 21:57

Nai fanike pragmatika xrisimo :) Thanx!

acerbitch
Δημοσιεύσεις: 37
Εγγραφή: 02 Φεβ 2009 11:33

Πως να κάνετε ένα συστημα διαχείρισης νέων για το site σας,

Δημοσίευση από acerbitch » 03 Οκτ 2009 22:03

Φίλε Ζέπο,

είναι εύκολο να κάνεις μία προσθήκη στο script σχετικα με το πως μπορούν οι χρήστες της σελίδας να εμφανίζουν τα νέα ανάλογα με το θέμα;

Ευχαριστώ!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης