Seite 1 von 1

Wie krieg ich die Daten für eine Shoutbox in die Datenbank?

Verfasst: 03.01.2006 22:49
von Coaster-Friend
Und zwar wollte ich für mein Forum eine Shoutbox machen, welche auf dem linken Rand des Forums zu sehen ist. Ich habe die Template-datei im Grundgerüst bereits fertig und ich habe es soeben geschafft, dass, wenn das Ding nicht eingebunden ist (also beim Absenden der Nachricht), es zur Index.php weiterleitet.
Und genau da liegt mein Problem: Wie stelle ich es an, dass die abgesende Nachricht in die Datenbank eingetragen wird, mitsamt User-ID und Nachrichten-ID?

Dies ist der Code der Shoutbox.php, welche ich in die includes/page_header.php eingebunden habe:

Code: Alles auswählen

<?php

if (!defined('IN_PHPBB'))
{
	header("Location: index.php");
} else {

$template->set_filenames(array(
   	'shoutbox' => 'shoutbox_body.tpl',
));

$template->assign_vars(array(
	'MESSAGE_TEXT' => 'test',
	'RELOAD' => $lang['Reload'],
	'SUBMIT' => $lang['Submit'],
	'L_SHOUTBOX' => $phpbb_root_path . 'shoutbox.'.$phpEx,
	'SHOUTBOX' => $lang['Shoutbox'],
	));

}

?>
Und dies ist der Code der shoutbox_body.tpl, die unter dem "$template->pparse('overall_header');" in der includes/page_header.php geparst wird:

Code: Alles auswählen

<table width="150" cellpadding="1" cellspacing="1" border="0" class="forumline" align="left">
<tbody><tr>
	<th colspan="2" class="thCornerL" height="25" nowrap="nowrap">{SHOUTBOX}</td>
  </tr>

  <tr>
	<td class="row1" colspan="2" height="20" valign="center"><span class="genmed">
	<form method="post" action="{L_SHOUTBOX}"><input class="post" type="text" name="message" size="15" /><input type="hidden" name="user_id" value="{USER_ID}" /><input type="submit" class="mainoption" name="submit" value="{SUBMIT}" /></form>
	<a href="{U_INDEX}">{RELOAD}</a></span></td>
  </tr>
  <tr>
	<td class="row2" colspan="2" height="28"><span class="cattitle">{MESSAGE_TEXT}</span></td>
  </tr>
</table>&nbsp;
Ich wäre für jede Hilfe, die mir entgegenkommt, dankbare Grüße, ;)
Dominic Laumer

Verfasst: 04.01.2006 00:55
von fanrpg
Hmm schonmal von $db->sql_query() gehört?
Und so einem Befehl?

Code: Alles auswählen

$sql = "INSERT INTO `table` VALUES ('Hier die Sachen zum einfügen', 'und noch mehr', 'und wieder mehr')";
$result = $db->sql_query($sql);
Damit wird das in die DB eingetragen

Verfasst: 04.01.2006 13:10
von Coaster-Friend
Das funktioniert mit diesem Code dummerweise nicht. Eventuell wäre auch ein etwas anderer Ton für einen PHP-N00b, wie ich einer bin, angebrachte Grüße, ;)
Dominic Laumer

Verfasst: 04.01.2006 13:28
von fanrpg

Code: Alles auswählen

if( !( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Kann Shoutboxdaten nichtupdaten', '', __LINE__, __FILE__, $sql);
}
mach mal das, dann kannst du erahnen wo der fehler ist.

Verfasst: 04.01.2006 14:34
von Coaster-Friend
Danke dafür! Den Fehler hab ich inzischen behoben und das Skript hat inzwischen auch schon was in die Datenbank eingetragen :).

Ich befasse mich dann mal mit dem Problem der Id der Nachricht.

Eingetragene Grüße,
Dominic Laumer