PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Weitere Formularfelder zum Newssystem hinzufügen? Hilfe!



swinxx
05.05.2015, 01:44
Hey Leute!

Und wieder mal nerve ich mit meinem Newssystem...

Diesmal möchte ich euch um Hilfe dazu bitten, wie ich zum Newsformular im Adminforce drei weitere Texteingabefelder hinzufügen kann. Also standardmäßig gibts da ja nur das Feld "Titel" und das Textfeld in welches ich die News dann schreiben kann. Ich hätte da nun gerne noch 1 Eingabefeld über dem Textfeld und 2 Eingabefelder unter dem Textfeld. Es sollen ganz normale Felder sein wie auch das Titel-Eingabefeld und das Text-Eingabefeld.

Also das ganze sollte dann so strukturiert und benannt sein:

Titelfeld (wie vorhanden)
Veranstaltungsdatum (Extrafeld 1)
Textfeld (wie vorhanden)
Veranstaltungsort (Extrafeld 2)
Sonstiges (Extrafeld 3)

Ich weiß das ich in der DB dann drei weitere table-Zeilen zur vms_news hinzufügen muss, dass kann ich auch. Mein Problem ist nur das ich´s nicht drauf hab die news.php darauf anzupassen. Joa und da hoffe ich das mir jemand von euch wieder mal helfen könnte das hinzubekommen.

Also das ist die aktuelle:


<?
if (!isset($titel)) $titel = '';
if (!isset($news)) $news = '';
if (!isset($id)) $id = '0';
if (!isset($_POST['auffuehren'])) $_POST['auffuehren'] = '0';
if (!isset($_POST['load'])) $_POST['load'] = '0';
if (!isset($_POST['loader'])) $_POST['loader'] = '';
if (!isset($_POST['newsletter'])) $_POST['newsletter'] = '';

if ($_POST['auffuehren'] == 'Ausführen') {
if ($_POST['id'] == 0 ){
if ($_POST['art'] == 1 || $_POST['art'] == 2) db_query("INSERT INTO ".$db_prefix."_news (zeit,titel,news) VALUES ('".time()."','".$_POST['titel']."','".$_POST['news']."')");

if ($_POST['art'] == 1 || $_POST['art'] == 3) {
$empfaenger = db_query('SELECT emailadresse FROM '.$db_prefix.'_emaildaten WHERE freigabe_fuer = 1 OR freigabe_fuer = 3 GROUP BY emailadresse');
while ($user = mysql_fetch_assoc($empfaenger)) usermail ($user['emailadresse'], $_POST['titel'], $_POST['news'], '"'.$seitenname.'" <'.$betreibermail.'>');
}
} else db_query("UPDATE ".$db_prefix."_news SET titel='".$_POST['titel']."',news='".$_POST['news']." WHERE id='".$_POST['id']."'");
}

if ($_POST['load'] == 'Editieren') {
$edit = mysql_fetch_array(db_query("SELECT titel,news,id,zeit FROM ".$db_prefix."_news WHERE id=".(int)$_POST['loader']." LIMIT 1"));
$titel = $edit['titel'];
$news = $edit['news'];
$id = $edit['id'];
}

if ($_POST['load'] == 'Löschen') {
db_query("DELETE FROM ".$db_prefix."_news WHERE id='".(int)$_POST['loader']."' LIMIT 1");
}

$old_news = db_query("SELECT * FROM ".$db_prefix."_news ORDER BY id DESC");
?>

<?
if (mysql_num_rows($old_news)){
head("News editieren / löschen");?>
<form action="" method="post">
<table>
<tr>
<td>
<select name="loader" size="1">
<?
while ($load = mysql_fetch_array($old_news)) echo '<option value="'.$load['id'].'">('.$load['id'].') - '.$load['titel'].' ('.date("d.m.Y - H:i",$load['zeit']).')</option>';
?>
</select>
</td>
<td>
<input type="Submit" name="load" value="Editieren">
</td>
<td>
<input type="Submit" name="load" value="Löschen">
</td>
</tr>
</table>
</form>
<?foot();
}
?>

<?head("News schreiben");?>
<form action="" method="post">
<div align="center">
<b>Newstitel</b><br />
<input type="Text" name="titel" style="width:500px;" value="<?=$titel;?>"><br>
<br />
<b>News</b> <i>(HTML erlaubt)</i>
<br />
<textarea name="news" style="width:500px; height:80px;"><?=$news;?></textarea><br>
<input type="Hidden" name="art" value="2">
<br /><br />
<input type="Submit" name="auffuehren" value="Ausführen">
<input type="Hidden" name="id" value="<?=$id;?>">
</div>
</form>
<?foot();?>

Falls es das ganze für euch irgendwie einfacher macht könnte man den ganzen Teil mit der Auswahl ob die News nur auf der Page, nur als Newsletter oder beides erscheinen sollen komplett weglassen. Da über die Page keinerlei Newsletter versandt werden sondern die News immer nur auf der Page erscheinen habe ich das "Art" Dropdownmenü durch ein "hidden"-Feld mit value=2 (also nur Page) geändert, damit es garnicht erst angezeigt wird und die News immer nur auf der Page gepostet werden.

Den Ausgabecode an der Stelle wo die News auf der Page dann ausgegeben werden würde ich mit viel experimentieren vielleicht hinbekommen, also die 2 weiteren Abfragen aus der DB dann. Trotzdem würde ich mich auch da sehr freuen wenn ihr mir evt. gleich zeigen könntet wie´s funktioniert. Mein aktueller Ausgabecode zur news.php ist:


<? $news = db_query("SELECT * FROM ".$db_prefix."_news ORDER BY id DESC LIMIT 15");
while ($nz = mysql_fetch_array($news)) {
echo '&nbsp;<b><u>';
echo nl2br($nz['titel'].'</u><small> - '.date("d.m.Y",$nz['zeit']).'</small></b><br /><br />'. $nz['news'].'<hr><br />');
} ?>

Wie immer wäre ich euch sehr sehr dankbar wenn ihr mir helfen würdet, es ist mir schon ein bisschen peinlich das ich euch so oft um Hilfe bitte. Ich hoffe ich nerve nicht allzusehr mit meinen noob-bettlereien...

lg, Swinxx