Hi,
mein Problem liegt mal wieder in der foreach Schleife.
Speichere die Daten wohl nicht in ret[data] nur weiß ich nicht genau wie ich das machen soll. Hat da einer einen Rat`?
Mein Vorhaben: PM Empfänger als dropdown Feld anzeigen lassen. Also alle User der Seite ins dropdown Feld anzeigen.
Hier der Code mit:
$Empfänger = array();
while ($row = $result->fetch_assoc()) {
...;
}
$ret['data']['Empfänger '] = $Empfänger ;
irgendwie so oder? nur wie genau
mein Problem liegt mal wieder in der foreach Schleife.
Speichere die Daten wohl nicht in ret[data] nur weiß ich nicht genau wie ich das machen soll. Hat da einer einen Rat`?
Mein Vorhaben: PM Empfänger als dropdown Feld anzeigen lassen. Also alle User der Seite ins dropdown Feld anzeigen.
Hier der Code mit:
PHP:
<?php
$ret = array();
$ret['filename'] = 'pm_new.tpl';
$ret['data'] = array();
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Empfaenger'], $_POST['Betreff'], $_POST['Nachricht'], $_POST['formaction'])) {
return INVALID_FORM;
}
if (($Empfänger = trim($_POST['Empfaenger'])) == '' OR
($Betreff = trim($_POST['Betreff'])) == '' OR
($Nachricht = trim($_POST['Nachricht'])) == '') {
return EMPTY_FORM;
}
$sql = 'SELECT
ID,
Vorname,
Nachname
FROM
mkhw_User
WHERE
Username = ? AND
ID != ?';
if (!$stmt = $db->prepare($sql)) {
return $db->error;
}
$stmt->bind_param('si', $Empfänger, $UserID);
if (!$stmt->execute()) {
return $stmt->error;
}
$stmt->bind_result($ZielID);
if (!$stmt->fetch()) {
return 'Es wurde kein Benutzer mit diesem Namen gefunden.';
}
$stmt->close();
$sql = 'INSERT INTO
mkhw_Nachricht(Quelle, Ziel, Datum, Betreff, Inhalt, Sichtbar)
VALUES
(?, ?, NOW(), ?, ?, 1)';
if (!$stmt = $db->prepare($sql)) {
return $db->error;
}
$stmt->bind_param('iiss', $UserID, $ZielID, $Betreff, $Nachricht);
if (!$stmt->execute()) {
return $stmt->error;
}
return showInfo('Die Nachricht wurde gesendet.');
}
return $ret;
?>
PHP:
<?php
/* Daten:
* keine
*/
?><form action="index.php?section=pm&action=new" method="post">
<fieldset>
<legend>Neue Nachricht schreiben</legend>
<label>Empfänger:<br />
<select name="UserID">
<option value="0">Bitte wählen</option>
<?php foreach ($data['Empfaenger'] as $key => $value) { ?>
<option value="<?php echo $key; ?>"><?php echo htmlspecialchars($value); ?></option>
<?php } ?>
</select><br />
<label>Betreff:<br /> <input type="text" name="Betreff" /></label><br />
<label>Nachricht:<br /> <textarea name="Nachricht" cols="40" rows="10"></textarea></label><br />
<input type="submit" name="formaction" value="Nachricht senden" />
</fieldset>
</form>
$Empfänger = array();
while ($row = $result->fetch_assoc()) {
...;
}
$ret['data']['Empfänger '] = $Empfänger ;
irgendwie so oder? nur wie genau
Zuletzt bearbeitet von einem Moderator: