PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit selbstentwickletem Newsscript



SSJ4 Goku
22.06.2004, 19:22
Also ich habe jetzt alles umgeändert jetzt sieht alles so aus:

admin.php(login)


<?
#######################################
## Newsscript maked and Copright by ##
## Eternitysoft (2004) Admin Datei ##
#######################################

//Hier werden die Variablen e.t.c übergeben
include('data/config.php');
include('data/style.css');
if($action=="login"){
if (isset ($adminpasswort)){
if ($adminpasswort==$passwort){
setcookie("news_admin", $passwort, time()+(3600*24*365), "/");
header("Location: admincenter.php");
}else{
echo "<p align=\"center\">Ihre Eingabe ist falsch</p>";
}
}
}

// Eingabe Formula
echo "<p align=\"center\"><form name=\"admin\" action=\"admin.php\" method=\"post\">
Login:&nbsp;&nbsp;</td><td width=\"50%\"><input type=\"text\" name=\"adminpasswort\" id=\"feld\" value=\"\">
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"button\" value=\"zur&uuml;ck\" onclick=\"javascript:history.back();\" class=\"Button3\" style=\"width: 80px;\">
<input type=\"submit\" value=\"Login\" class=\"Button3\" style=\"width: 80px;\">
<input type=\"hidden\" name=\"action\" value=\"login\"></p>";


?>

admincenter.php


<?
#######################################
## Newsscript maked and Copright by ##
## Eternitysoft (2004) Admincenter ##
#######################################

//Hier werden die Variablen e.t.c übergeben
include('data/config.php');
include('data/style.css');
if (isset ($_COOKIE['news_admin'])) {
echo " <table border=\"0\" cellpadding=\"0\" celspacing=\"0\" width=\"0\" align=\"center\">
<tr><td align=\"center\">Was wollen sie tun?<br>
<a href=\"schreiben.php\">News schreiben</a><br>
<a href=\"loeschen.php\">News l&ouml;schen</a><br>
<a href=\"logout.php\">Ausloggen</a></td></tr>
</table>";
}else{
header("Location: admin.php");
}

?>

index.php(ausgabe der news)

<?
#######################################
## Newsscript maked and Copright by ##
## Eternitysoft (2004) index ##
#######################################

include ('data/config.php');
include ('data/style.css');
$db = mysql_connect($sql_host,$sql_user,$sql_pass) OR DIE ("<p align=\"center\"><br>Keine Verbindung zur SQL-Datenbank!</p>");
mysql_select_db($sql_database,$db) OR DIE ("<p align=\"center\"><br>Konnte Datenbank $sql_database nicht finden!</p>");

$Query = "SELECT * FROM news ORDER BY ID DESC";
$result = mysql_query("SELECT * FROM news");
$ergebnis = mysql_query($Query);
$menge = mysql_num_rows($result);
?>
//----Problem Nr.1-----
<?php
$entrys = $menge; // Hier kann man später zB das Ergebnis eines mysql_num_rows() hinpacken.
$perpage = 10; // Einträge pro Seite
?>

<?php
function limitSQL($perpage = 25) {
global $page;
if (!$page || $page < 1) {
$page = 1;
}
$min = ($page - 1) * $perpage; // Startwert ermitteln
$max = $min + $perpage; // Der Endwert ist der Startwert + Einträge / Seite
$out = array($min,$max);
return $out; // Rückgabewert ist ein array mit den beiden Werten
}
?>

<?php
function createPages($input = 0, $perpage = 25) {
global $page, $_SERVER;
if (empty($input))
die("createPages(<b>\$input = $input</b>, \$perpage = $perpage"); // Sollte kein gesamtwert übergeben werden bricht die Funktion mit einer fehlermeldung ab.
if ($input <= $perpage) // Sollten es zu wenig Einträge für mehrere Seiten sein, gibts halt nur eine.
return "&#xAB; <b>1</b> &#xBB;"; // HTML-Rückgabe
if (!$page || $page < 1) {
$page = 1; // Sollte man an der URL rumspielen oder sollte $page noch nicht gesetzt sein wir $page auf 1 gesetzt.
}
$pages = ceil($input / $perpage); // Die Anzahl der Seiten errechnet sich aus dem aufgerundeten Ergebnis von dem Bruch [ANZAHL EINTRÄGE] / [PRO SEITE]
$html = ""; // Der Rückgabestring wird geleert.
if ($page > 1) { // Sollte die aktuell angewählte Seite größer als Eins sein kann man zurück Blättern, der linke Pfeil wird aktiviert. Wenn nicht wird er deaktiviert.
$html .= "<a href=\"".$_SERVER["PHP_SELF"]."?page=".($page-1)."\">&#xAB;</a>&#xA0;";
} else {
$html .= "&#xAB;&#xA0;";
}
for($i = 1; $i <= $pages; $i++) { // Solange $i kleiner oder gleich der Anzahl der Seiten ist wird eine Seitenzahl hinzugefügt.
if ($i == $page) { // Ist man auf der aktuellen Seite wird der Link deaktiviert und die Zahl bold gedruck.
$html .= "<b>".$i."</b>&#xA0;";
} else {
$html .= "<a href=\"".$_SERVER["PHP_SELF"]."?page=".$i."\">".$i."</a>&#xA0;";
}
}
if ($page <= $pages-1) { // Ist die aktuelle Seite kleiner oder gleich der gesamtseiten - 1?
$html .= "<a href=\"".$_SERVER["PHP_SELF"]."?page=".($page+1).">&#xBB;</a>&#xA0;"; // Ja, "Vorwärtsblätterlink" erstellen.
} else {
$html .= "&#xBB;&#xA0;"; // Nein
}
return $html; // Den String zurückgeben.
}
//------------------ende Problem 1-----------------------------
?>
<?
$id = time();
while($daten = mysql_fetch_object($ergebnis))
{
$datum2 = getdate($daten->id);
//grafiken und codes bzw Sonderzeichen werden umgewandelt

$daten->nachricht = str_replace(":D","<img src=\"img/biggrin.gif\" width=\"15\" height=\"15\" border=\"0\">",$daten->nachricht);

$daten->nachricht = str_replace(":?:","<img src=\"img/confused.gif\" width=\"15\" height=\"22\" border=\"0\">",$daten->nachricht);

$daten->nachricht = str_replace(":cool:","<img src=\"img/cool.gif\" width=\"15\" height=\"15\" border=\"0\">",$daten->nachricht);

$daten->nachricht = str_replace(":eek:","<img src=\"img/eek.gif\" width=\"15\" height=\"15\" border=\"0\">",$daten->nachricht);

$daten->nachricht = str_replace(":(","<img src=\"img/frown.gif\" width=\"15\" height=\"15\" border=\"0\">",$daten->nachricht);

$daten->nachricht = str_replace(">:(","<img src=\"img/mad.gif\" width=\"15\" height=\"15\" border=\"0\">",$daten->nachricht);

$daten->nachricht = str_replace(":rolleyes:","<img src=\"img/rolleyes.gif\" width=\"15\" height=\"15\" border=\"0\">",$daten->nachricht);

$daten->nachricht = str_replace(":)","<img src=\"img/smile.gif\" width=\"15\" height=\"15\" border=\"0\">",$daten->nachricht);

$daten->nachricht = str_replace(":tongue:","<img src=\"img/tongue.gif\" width=\"15\" height=\"15\" border=\"0\">",$daten->nachricht);

$daten->nachricht = str_replace(":zwink:","<img src=\"img/zwink.gif\" width=\"15\" height=\"15\" border=\"0\">",$daten->nachricht);

//----------------------------------------------------------------------------------------

//----Problem Nr.2----
// Ermöglicht UBB-Code, (c) by Karl Förster (k.foerster@kallectronic.de)
class myBoardCodeTag {
var $str_search;
var $str_replace;
var $casesensitiv;

function myBoardCodeTag ($search, $replace, $casesensitiv = false) {
$this->str_search = $search;
$this->str_replace = $replace;
$this->casesensitiv = $casesensitiv;
}
}
$bold = new myBoardCodeTag('(\[b\])(.*)(\[/b\])', '<b>\\2</b>');
$italic = new myBoardCodeTag('(\[i\])(.*)(\[/i\])', '<i>\\2</i>');
$underline = new myBoardCodeTag('(\[u\])(.*)(\[/u\])', '<u>\\2</u>');
$strike = new myBoardCodeTag('(\[s\])(.*)(\[/s\])', '<s>\\2</s>');
$url1 = new myBoardCodeTag('(\[url\])(.*)(\[/url\])', '<a href=\"\\2\" target=\"_blank\">\\2</a>');
$url2 = new myBoardCodeTag('(\[url\=)(.*)(\])(.*)(\[/url\])', '<a href=\"\\2\" target=\"_blank\">\\4</a>');
$email1 = new myBoardCodeTag('(\[email\])(.*)(\[/email\])', '<a href=\"mailto:\\2\">\\2</a>');
$email2 = new myBoardCodeTag('(\[email\=)(.*)(\])(.*)(\[/email\])', '<a href=\"mailto:\\2\">\\4</a>');
$code = new myBoardCodeTag('(\[code\])(.*)(\[/code\])', '<blockquote>Quellcode:<hr><pre>\\2</pre><hr></blockquote>');
$quote = new myBoardCodeTag('(\[*quote\*])(.*)(\[*/quote\*])', '<*blockquote*>Quote:<hr>\\2<hr><*/blockquote*>');
$list = new myBoardCodeTag('(\[list\])(.*)(\[/list\])', '<ul>\\2</ul>');
$ul_ol = new myBoardCodeTag('(\[list\=)(ol|ul)(\])(.*)(\[/list\])', '<\\2>\\4</\\2>');
$li = new myBoardCodeTag('(\[\*\])(.*)', '<li>\\2</li>');
$img = new myBoardCodeTag('(\[img\=)(.*)(\])', '<img src=\"\\2\" border=\"0\">');

$myBoardCodeTags = array ($bold, $italic, $underline, $strike, $url1, $url2, $email1, $email2, $code, $quote, $list, $ul_ol, $li, $img);

function Filter_myBoardCodeTags ($nachricht, $myBoardCodeTags) {
if ($nachricht) {
$s = $nachricht;
for ($i = 0; $i < Count ($myBoardCodeTags); $i++) {
$pattern = '=' . $myBoardCodeTags[$i]->str_search . '=sU';
if (!$myBoardCodeTags[$i]->casesensitiv) { $pattern .= 'i'; }
$s = preg_replace ($pattern, $myBoardCodeTags[$i]->str_replace, $s);
}
$s = nl2br ($s);
$s = stripslashes ($s);
return $s;
}
return $nachricht;
}
//-----------------ende Problem 2------------------------------------

//---------------------------------------------------------------------------------------
echo "<table border=\"1\" cellspacing=\"1\" cellpadding=\"0\" width=\"100%\">
<tr width=\"100%\"><td width=\"70%\">$daten->betreff &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; von $daten->name</td></tr>
<tr width=\"100%\"><td width=\"100%\">$daten->nachricht</td>
</tr>
<tr width=\"100%\"><td width=\"20%\">am $daten->datum &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; um $daten->zeit</td></tr>
</table><br><br>";
}
?>

logout.php


<?
#######################################
## Newsscript maked and Copright by ##
## Eternitysoft (2004) Logout ##
#######################################

//Hier werden die Variablen e.t.c übergeben
include('data/config.php');
include('data/style.css');
setcookie("news_admin", $passwort, time()-(3600*24*365), "/");
echo "<p align=\"center\">Sie sind ausgeloggt <meta http-equiv=\"refresh\" content=\"2; URL=admincenter.php\"> </p>";
?>

schreiben.php


<?
#######################################
## Newsscript maked and Copright by ##
## Eternitysoft (2004) schreiben ##
#######################################
//Hier werden die Variablen e.t.c übergeben
include('data/config.php');
include('data/style.css');
if (isset ($_COOKIE['news_admin'])) {
if($senden=="OK"){
$db = mysql_connect($sql_host,$sql_user,$sql_pass) OR DIE ("<p align=\"center\"><br>Keine Verbindung zur SQL-Datenbank!</p>");
mysql_select_db($sql_database,$db) OR DIE ("<p align=\"center\"><br>Konnte Datenbank $sql_database nicht finden!</p>");
$eintrag = "INSERT INTO news (name, nachricht, datum,
zeit, betreff) VALUES ('$name', '$nachricht',
'$datum', '$zeit','$betreff')";
$eintragen = mysql_query($eintrag);
mysql_close($db);
echo "<p align=\"center\">News Eingetragen <meta http-equiv=\"refresh\" content=\"2; URL=admincenter.php\"></p>";
}
?>
<html>
<head>
<script language="JavaScript">
<!--
function smilies(Zeichen) {
document.posting.nachricht.value =
document.posting.nachricht.value + Zeichen;
}


function setcode(code,prompttext) {
inserttext = prompt("Zu formatierenden Text eingeben:"+"\n",prompttext);
if ((inserttext != null) && (inserttext != ""))
document.posting.nachricht.value += "["+code+"]"+inserttext+"[/"+code+"] ";
document.posting.nachricht.focus();
}


function seturl(type) {
description = prompt("Beschreibungstext eingeben (optional)","");
if (type == "URL") {
text = "Link eingeben";
content = "http://";
}
else {
text = "eMail-Adresse eingeben";
content = "";
}
url = prompt(text,content);
if ((url != null) && (url != "")) {
if ((description != null) && (description != ""))
document.posting.nachricht.value += "["+type+"="+url+"]" +description+ "[/"+type+"] ";
else
document.posting.nachricht.value += "["+type+"]"+url+"[/"+type+"] ";
}
document.posting.nachricht.focus();
}


function setimgurl(type1,type2) {
pic_text = "URL des Bildes angeben";
pic_content = "http://";
picurl = prompt(pic_text,pic_content);
link_text = "Seite, die nach Klick auf das Bild aufgerufen werden soll (optional)";
link_content = "http://";
url = prompt(link_text,link_content);
if ((picurl != null) && (picurl != "")) {
if ((url != null) && (url != "http://") && (url != ""))
document.posting.nachricht.value += "["+type2+"="+url+"]"+"["+type1+"="+picurl+"]"+"[/"+type2+"] ";
else
document.posting.nachricht.value += "["+type1+"="+picurl+"] ";
}
document.posting.nachricht.focus();
}
//-->
</script>
</head>
<body><table width="600" border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="right" width="189"> Smilies<br><br>
<img src="img/biggrin.gif" alt="biggrin.gif" width="15" height="15" onClick=javascript:smilies(':D')>
<img src="img/confused.gif" alt="confused.gif" width="15" height="22" onClick=javascript:smilies(':?:')>
<img src="img/cool.gif" alt="cool.gif" width="15" height="15" onClick=javascript:smilies(':cool:')><br>
<img src="img/eek.gif" alt="eek.gif" width="15" height="15" onClick=javascript:smilies(':eek:')>
<img src="img/frown.gif" alt="frown.gif" width="15" height="15" onClick=javascript:smilies(':(')>
<img src="img/mad.gif" alt="mad.gif" width="15" height="15" onClick=javascript:smilies('>:(')><br>
<img src="img/rolleyes.gif" alt="rolleyes.gif" width="15" height="15" onClick=javascript:smilies(':rolleyes:')>
<img src="img/smile.gif" alt="smile.gif" width="15" height="15" onClick=javascript:smilies(':)')>
<img src="img/tongue.gif" alt="tongue.gif" width="15" height="15" onClick=javascript:smilies(':tongue:')><br>
<img src="img/zwink.gif" alt="zwink.gif" width="15" height="15" onClick=javascript:smilies(':zwink:')></td><td width="192">
<form name="posting" action="schreiben.php" method="post" width="192">
Name:<br> <input name="name" type="text" size="30" maxlength="30"><br>
Titel:<br> <input name="betreff" type="text" size="30" maxlength="30"><br>
News:<br> <textarea name="nachricht" cols="30" rows="10"></textarea><br>
Datum:<input name="datum" type="text" size="8" maxlength="8" value="">Zeit:<input name="zeit" type="text " size="5" maxlength="5" value=""><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="OK" class="Button3" style="width: 80px;">
<input type="hidden" name="senden" value="OK"><br>
</form>
</td><td align="left" width="189">Codes<br><input type="button" name="[b]" title="Fett" value=" B " onClick="javascript:setcode('B','')">
<input type="button" name="[i]" title="Kursiv" value=" I " onClick="javascript:setcode('I','')">
<input type="button" name="[u]" title="Unterstrichen" value=" U " onClick="javascript:setcode('U','')"><br>
<input type="button" name="[url]" title="Link einf&uuml;gen" value="http" onClick="javascript:seturl('URL')">
<input type="button" name="[email]" title="Email-Link einf&uuml;gen" value="@" onClick="javascript:seturl('EMAIL')">
<input type="button" name="[img]" title="Bild einf&uuml;gen" value="IMG" onClick="javascript:setimgurl('IMG','URL')"><br>
<input type="button" name="[#]" title="Code-Text einf&uuml;gen" value="CODE" onClick="javascript:setcode('CODE','')">
<input type="button" name="[quote]" title="Zitat einf&uuml;gen" value="Quote" onClick="javascript:setcode('QUOTE','')")></td></tr>
</table>
</body>
</html>
<?
}else{
header("Location: admin.php");
}
?>

setup.php


<?
#######################################
## Newsscript maked and Copright by ##
## Eternitysoft (2004) setup ##
#######################################

include('data/config.php');
$db = mysql_connect($sql_host,$sql_user,$sql_pass) OR DIE ("<p align=\"center\"><br>Keine Verbindung zur SQL-Datenbank!</p>");
mysql_select_db($sql_database,$db) OR DIE ("<p align=\"center\"><br>Konnte Datenbank $sql_database nicht finden!</p>");

mysql_query("CREATE TABLE news (

id int(150) NOT NULL auto_increment,

name varchar(30) NOT NULL,

nachricht text NOT NULL,

datum varchar(9) NOT NULL,

zeit varchar(5) NOT NULL,

betreff varchar(30) NOT NULL,

PRIMARY KEY (id)

);");
mysql_close($db);
echo "Tabelle angelegt";
?>

data/config.php


<?
#######################################
## Newsscript maked and Copright by ##
## Eternitysoft (2004) Config Datei ##
#######################################

//Passwort anpassen!

$passwort ="pass";


// Diese Variablen müssen an deine Datenbank angepasst werden!

// Verbindungsvariable für die Datenbank
$sql_database = "mysql"; // Name der Datenbank
$sql_host = "localhost"; // Name des Hosts ( meißtens localhost )
$sql_user = "root"; // Username für die Datenbank
$sql_pass = ""; // Und das Passwort dafür


?>

data/style.css


<style type="text/css">

th {
font-family: Verdana;
color: #A0A0A0;
font-size: 11px;
}


p {
font-family: Verdana;
color: #A0A0A0;
font-size: 11px;
}


td {
font-family: Verdana;
color: #A0A0A0;
font-size: 11px;
}


a:link,a:active,a:visited {
color: #A0A0A0;
text-decoration: none;
}


a:hover {
color:#3399FF;
text-decoration:none;
}



body {
background-color:#336699;
font-family: Verdana;
color: #A0A0A0;
font-size: 11px;
}

</style>

So jetzt habe ich folgende Probleme/Fragen:

1.Ist das so jetzt sicher gestalltet mit dem passwort?
2.Das mit der Seitenanzahl und den BBCode geht nicht (mit Problem 1 und 2 markiert)
3.Wie mache ich das ich auch news löschen kann? (das man die ausgegebn kriegt und dann aussuchen kann)
ja das wäre es auch erstmal ich hoffe ihr könnt mir weiterhelfen und ich bitte euch das durchzulesen
PS: Quote ist bei BBCode mit absicht in ** gesetzt da das sonst als Zitat hier angezaigt wird
mfg

codec
24.06.2004, 02:14
Kannst du die PHP Teile bitte in [PHP] Tags packen?

Und deaktivier die Smilies bitte, ich hab da null durchblick..

SSJ4 Goku
25.06.2004, 21:57
Also so ich habe das jetzt mal in PHP Codes gesetzt und die Smilies deaktiviert
mfg