2 בעיות עם מערכת כתבות.
1. כנסו לכאן:
http://royalgames.3dfaculty.com/kata...vot2/index.php
הסידור שם התבלגן ואני לא יודע למה..
הקוד של איפה שהסידור:
PHP קוד:
<div id="contentboxleft">סבהלצגהלצכגהלךצ<br>סבהסבהךסבךה<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגףך<br>סבהךלס<br>גלךהצכגף</div>
<?php
echo "<div id=\"contentboxright\"><h2><u>כתבות נוכחיות</u></h2>\n";
$data = file('articles.txt');
////////OLD\\\\\\
//$data = array_reverse($data);
//foreach($data as $key=>$element) {
//$element = trim($element);
//\\\\\\OLD//////
for($i=count($data)-1;$i>=0;$i--) {
$element = trim($data[$i]);
$pieces = explode("|", $element);
echo "<BR>" . $pieces[2] . "<BR>" . "<b>נשלח על ידי " . $pieces[1] . " ב " . $pieces[0] . "</b>\n";
echo " (<a href=\"$PHP_SELF?action=delete&id=$i\">מחק</a>\n";
echo " | <a href=\"$PHP_SELF?action=edit&id=$i\">ערוך</a>)\n";
echo "<BR><HR><BR><BR></div>\n";
}
?>
<br /><br /><br /><br />
<div id="contentboxright">
<h2><u>סיסמה אקראית (לשימוש פנימי)</u></h2><br />
<?php
/**
* The letter l (lowercase L) and the number 1
* have been removed, as they can be mistaken
* for each other.
*/
function createRandomPassword() {
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
srand((double)microtime()*1000000);
$i = 0;
$pass = '' ;
while ($i <= 7) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
// Usage
$password = createRandomPassword();
echo "הסיסמה האקראית היא: $password</div><br />";
?>
2 ה CSS:
PHP קוד:
#contentboxright{
float:right;
width:520px;
font-size:1.1em;
color:#505050;
background-color:#fafbfc;
margin:5px 0 5px 0;
padding:10px 10px 8px 5px;
border:1px solid #c0c0c0;
}
#contentboxleft{
float:left;
width:138px;
font-size:1.1em;
color:#505050;
background-color:#fafbfc;
margin:5px 0 5px 0;
padding:10px 10px 8px 5px;
border:1px solid #c0c0c0;
}
2. כנסו ל:
http://royalgames.3dfaculty.com/kata...vot2/index.php
ותעשו 'עריכה' על אחת מהכתבות (בלי לכתוב סיסמה), ותראו שהשגיאה בדף אחר, ואני רוצה שזה יהיה באותו דף ומעל העריכה..
קוד העריכה:
PHP קוד:
if($action == "edit" && isset($HTTP_POST_VARS['password'])) {
//obviously you should change this password on the next line
if($HTTP_POST_VARS['submit']) {
if($HTTP_POST_VARS['password'] == 'tbftbf') {
if(!$HTTP_POST_VARS['name']) {
echo "<div id=\"contentboxright\"><b>אתה חייב להקליד את שמך</b>";
echo " | <a href=\"javascript:history.go(-1);\">חזור</a></div>\n";
exit;
}
if(!$HTTP_POST_VARS['articles']) {
echo "<div id=\"contentboxright\"><b>אתה חייב להקליד תוכן</b>";
echo " | <a href=\"javascript:history.go(-1);\">חזור</a></div>\n";
exit;
}
if(strstr($HTTP_POST_VARS['name'],"|")) {
echo "<div id=\"contentboxright\"><b>השם לא יכול להכיל את התו -|-</b>";
echo " | <a href=\"javascript:history.go(-1);\">חזור</a></div>\n";
exit;
}
if(strstr($HTTP_POST_VARS['articles'],"|")) {
echo "<div id=\"contentboxright\"><b>תוכן הכתבה לא יכול להכיל את התו -|-</b>";
echo " | <a href=\"javascript:history.go(-1);\">חזור</a></div>\n";
exit;
}
//First let's recompile that line with the pipe symbols so we can reinsert it
$line = $HTTP_POST_VARS['date'] . "|" . $HTTP_POST_VARS['name'];
$line .= "|" . $HTTP_POST_VARS['articles'];
$line = str_replace("\r\n","<BR>",$line);
$line .= "\r\n";
$data = file('articles.txt');
$data[$id] = $line;
//the next line makes sure the $data array starts at the beginning
reset($data);
//now we open the file with mode 'w' which truncates the file
$fp = fopen('articles.txt','w');
foreach($data as $element) {
fwrite($fp, $element);
}
fclose($fp);
echo "<div id=\"contentboxright\"><b>הכתבה נערכה</b>\n";
echo " | <a href=\"index.php\">חזור לעמוד הראשי</a></div><BR><BR>\n";
exit;
} else {
$data = file('articles.txt');
//$data = array_reverse($data);
foreach($data as $key=>$element) {
$element = trim($element);
$pieces = explode("|", $element);
echo "<div id=\"contentboxright\"><b>סיסמה שגויה</b>\n";
echo " | <a href=\"javascript:history.go(-1);\">חזור</a></div><BR><BR>\n";
exit;
}
}
}
}
if($action == "edit") {
$data = file('articles.txt');
$element = trim($data[$id]);
$pieces = explode("|", $element);
//the next line is to reverse the process of turning the end of lines into breaking returns
$articles = str_replace("<BR>","\r\n",$pieces[2]);
echo "<div id=\"content\"><h2><u>ערוך כתבה</u></h2><BR>\n";
echo "<FORM ACTION=\"$PHP_SELF?action=edit\" METHOD=\"POST\" NAME=\"editform\">\n";
echo "שם:<BR>\n";
echo "<INPUT TYPE=\"text\" SIZE=\"30\" NAME=\"name\" value=\"".$pieces[1]."\"><BR>\n";
echo "תוכן הכתבה:<BR>\n";
echo "<TEXTAREA NAME=\"articles\" COLS=\"60\" ROWS=\"20\">".$articles."</TEXTAREA><BR><BR>\n";
echo "סיסמה:<BR>\n";
echo "<INPUT TYPE=\"password\" SIZE=\"30\" NAME=\"password\"><BR><BR>\n";
echo "<INPUT TYPE=\"hidden\" NAME=\"date\" VALUE=\"".$pieces[0]."\">\n";
echo "<INPUT TYPE=\"hidden\" NAME=\"id\" VALUE=\"$id\">\n";
echo "<u>הערות חשובות לפני עריכה:</u><BR>\n";
echo "<ul>\n";
echo "<li>בדוק היטב שהכתבה ו/או השם אינה/אינו מכיל/ה את התו '|' ושכל הנתונים הוזנו כהלכה.\n";
echo "<li>מומלץ לשמור את הכתבה בקובץ TXT לפני השליחה במידה ותקרה תקלה בשליחתה.\n";
echo "</ul>\n";
echo "<INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\" שמור \"><BR>\n";
echo "</FORM></div>\n";
exit;
}
תודה רבה מראש לעוזרים :)
|