PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem: Edit-Funktion im Adminforce Newssystem funktioniert nicht mehr. HILFE!!



swinxx
29.05.2015, 18:18
Hey Leute,

wiedermal bitte ich um dringende Hilfe!

Ich habe in meinem Newssystem im Adminforce ein weiteres Eingabefeld hinzugefügt. Normalerweise gibts da ja das Titelfeld, das Textfeld und das option Feld wo man sich aussuchen kann ob NL, News & NL oder nur News. Letzteres habe ich per hidden versteckt und als Standardvalue "nur News" eingestellt da der Newsletterversand nicht benötigt wird. Derjenige für welchen ich die HP erstelle hat da ein eigenes NL-System, daher braucht er das vom Adminforce nicht.

So, also wie gesagt habe ich ein neues Eingabefeld hinzugefügt. Zwischen dem Titel und dem Textfeld befindet sich dieses nun. Natürlich habe ich auch in der DB das entsprechende Feld hinzugefügt (mit varchar60). Habe auch alles so hinbekommen das es funktioniert. Man kann News erstellen, in der DB wird alles richtig eingetragen und auch die Ausgabe funktioniert wunderbar.

Das einzige Problem das es nun gibt ist, dass die die Editieren Funktion nicht mehr funzt (die Löschen Funktion funktioniert aber tadellos). Ich kann einen Eintrag aus dem DropDown Menü oben auswählen und auf editieren klicken. Es wird dann alles korrekt in den Eingabefeldern angezeigt. Nur wenn ich nun etwas ändere und auf Ausführen klicke wird die Änderung nicht übernommen. Wenn ich den Eintrag also erneut aufrufe stehen wieder die alten Daten da und nicht die geänderten.

Joa, und da bräuchte ich nun eure Hilfe, bitte bitte bitte :)

Also hier mal der Code des php files in welchem ich herumgepfuscht hab um ein Feld hinzuzufügen:
(nicht wundern das immer [".$db_prefix."_veranstaltungen] statt [".$db_prefix."_news] angegeben ist da ich das Newssystem dupliziert habe um über das Adminforce auch Veranstaltungen auf die gleiche Art und Weise auf der Website posten zu können und diese werden in die DB Tabelle vms_veranstaltungen geschrieben. Bevor ich eben das neue Eingabefeld hinzugefügt habe hat das auch alles wunderbar funktioniert)


<?
if (!isset($titel)) $titel = '';
if (!isset($news)) $news = '';
if (!isset($id)) $id = '0';

if (!isset($vdate)) $vdate = '';

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."_veranstaltungen (zeit,titel,vdate,news) VALUES ('".time()."','".$_POST['titel']."','".$_POST['vdate']."','".$_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['vdate'], $_POST['news'], '"'.$seitenname.'" <'.$betreibermail.'>');
}
} else db_query("UPDATE ".$db_prefix."_veranstaltungen SET titel='".$_POST['titel']."',vdate='".$_POST['vdate']."',news='".$_POST['news']." WHERE id='".$_POST['id']."'");
}

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

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

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

<?
if (mysql_num_rows($old_news)){
head("Veranstaltungen 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("Veranstaltungen erstellen");?>
<form action="" method="post">
<div align="center">
<b>Titel</b><br />
<input type="Text" name="titel" style="width:400px;" value="<?=$titel;?>"><br />
<br />

<b>Datum & Zeit der Veranstaltung</b> <small><i>(Format: JJJJ.MM.TT - 00:00)</i></small> <br />
<input type="Text" name="vdate" style="width:400px;" value="<?=$vdate;?>"><br />
<br />

<b>Text</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 />
<small><i>ACHTUNG: Das Format des "Datum & Zeit" Feldes sollte immer gleich gehalten werden,<br /> da die Ausgabe der Events nach diesen Eingaben sortiert wird!</i></small>
<br /><br />
<input type="Submit" name="auffuehren" value="Ausführen">
<input type="Hidden" name="id" value="<?=$id;?>">
</div>
</form>
<?foot();?>

Falls ihr noch irgendwelche Daten oder so braucht (SQL oder iewas) bitte einfach bescheid sagen dann werde ich die gleich posten...

Ich wäre euch wirklich sehr sehr dankbar wenn mir irgendjemand meinen Fehler sagen könnte. Wenn ich irgendetwas als Gegenleistung machen kann schreibt einfach was (Klammlose, iewo Ref werden, mich mal bücken^^, oder was auch immer)...

bb, Swinxx

nighthunter
30.05.2015, 02:39
Hallo,
hab nen kleinen Fehler in der Update Zeile gefunden:


} else db_query("UPDATE ".$db_prefix."_veranstaltungen SET titel='".$_POST['titel']."',vdate='".$_POST['vdate']."',news='".$_POST['news']." WHERE id='".$_POST['id']."'");

da fehlt hinter news='".$_POST['news']." ein ' :


} else db_query("UPDATE ".$db_prefix."_veranstaltungen SET titel='".$_POST['titel']."',vdate='".$_POST['vdate']."',news='".$_POST['news']."' WHERE id='".$_POST['id']."'");

schau mal, ob es daran liegt.

Gruss
nighthunter