SO, habe nmich nun mal selber dran gesetzt, stehe aber nun vor folgendem Problem.
Das Anlegen eines Charakter klapt.
Beim Modifizieren bekomme ich immer die Anmeldemaske.
Ich habe mich beim editieren stark an profil_edit gehalten.
findet jemand den fehler?
Ich leider nicht.
Das ganze wird über
externer Link ausgelöst, wobei die letzte Stelle (hier die 1) die char_id in der DB entspricht.
char_edit.php
<?php
# Copyright by: Manuel
# Support: www.ilch.de
defined ('main') or die ( 'no direct access' );
$oid = escape($menu->get(3), 'integer');
$title = $allgAr['title'].' :: Users :: Profil';
$hmenu = $extented_forum_menu.'<a class="smalfont" href="?char">Charakter</a><b> » </b> Profil'.$extented_forum_menu_sufix;
$design = new design ( $title , $hmenu);
$design->header();
if ( $_SESSION['authright'] <= -1 ) {
if ( empty ($_POST['submit']) ) {
$design->header();
$abf = "SELECT char_id, char_name, char_type, char_level, char_div, char_gy FROM `prefix_char` WHERE char_id LIKE '$oid'";
$erg = db_query($abf);
$charid = $erg['char_id'];
if ( db_num_rows($erg) > 0 ) {
$row = db_fetch_assoc($erg);
$tpl = new tpl ('char/char_edit');
$tpl->set_ar_out($row,0);
$tpl->set_ar_out($row,2);
profilefields_change ( $_SESSION['authid'] );
$tpl->out(3);
} else {
$tpl = new tpl ( 'user/login.htm' );
$tpl->set_out('WDLINK','index.php',0);
}
} else { # submit
if (isset($_POST['submit'])) {
$charname = escape($_POST['charname'], 'string');
$chartype = escape($_POST['chartyp'], 'string');
$charlevel = escape($_POST['charlevel'], 'string');
$chardiv = escape($_POST['charbes'], 'string');
$chargy = escape($_POST['gy'], 'string');
if (db_query("UPDATE prefix_char SET
char_name = '".escape($_POST['charname'], 'string')."',
char_type = '".escape($_POST['chartyp'], 'string')."',
char_level = '".escape($_POST['charlevel'], 'string')."',
char_div = '".escape($_POST['charbes'], 'string')."',
char_gy = '".escape($_POST['gy'], 'string')."',
WHERE char_id = '$oid' ")) {
$wdtxt = 'Dein Charakter wurde erfolgreich geändert.';
} else {
$wdtxt = 'Es ist ein Fehler beim Eintragen aufgetreten, falls das immer passiert solltest du einen Admin kontaktieren.';
}
wd(array('Startseite'=>'index.php'),$wdtxt,10);
} else {
$tpl = new tpl('char/char_edit');
$tpl->out(0);
}
}
}
$design->footer();
?>
char_edit.html
<form action="index.php?char-edit" method="POST" enctype="multipart/form-data">
<fieldset>
<legend>Charakter Daten ändern</legend>
<br />
<label style="float:left; width:35%;">{_lang_char_name}</label><input style="margin-bottom:2px;" name="charname" value="{char_name}" /><font class="smalfont">{_lang_mustbeentered}</font><br style="clear:both;" />
<label style="float:left; width:35%;">{_lang_char_level}</label><input style="margin-bottom:2px;" name="charlevel" value="{char_level}" /><br style="clear:both;" />
<label style="float:left; width:35%;">{_lang_char_typ}</label>
<select style="margin-bottom:2px;" name="chartyp" size="6" />
<option>Hochelfe</option>
<option>Inquisitor</option>
<option>Tempelwächter</option>
<option>Schattenkrieger</option>
<option>Seraphim</option>
<option>Dryade</option>
</select><br style="clear:both;" />
<label style="float:left; width:35%;">{_lang_char_bes}</label><textarea style="margin-bottom:2px;" name="charbes" value="{char_div}" cols="50" rows="5" />{Besonderheiten}</textarea><br style="clear:both;" />
<label style="float:left; width:35%;">{_lang_char_gy}</label><input type="checkbox" style="margin-bottom:2px;" name="gy" value="" /><br style="clear:both;" />
<br />
<fieldset>
<br />
{EXPLODE}
</fieldset>
<br />
{EXPLODE}
<br />
<div align="center">
<input style="margin-bottom:2px;" type="submit" value="{_lang_send2}" name="submit">
</div>
</fieldset>
</form>