Es geht um eine kleine Adressverwaltung.
Mit "normalem PHP" bekomme ich das mühelos hin. Jetzt möchte ich das in phpbb anzeigen.
Das ist der aktuelle Stand:
Tabelle in Datenbank angelegt: Adressen
Code: Alles auswählen
CREATE TABLE `phpbb_adressen` (
Id Int(11) NOT NULL auto_increment,
Name VarChar(50) NOT NULL default '',
Strasse VarChar(50) NOT NULL default '',
PLZ VarChar(50) NOT NULL default '',
Ort VarChar(50) NOT NULL default '',
Mobil VarChar(50) NOT NULL default '',
Festnetz VarChar(50) NOT NULL default '',
Email VarChar(50) NOT NULL default '',
Homepage VarChar(50) NOT NULL default '',
Notiz Text(1000) NOT NULL default '',
PRIMARY KEY (Id)
);
Code: Alles auswählen
// Additional tables
// Adressen
define('ADRESSEN_TABLE', $table_prefix . 'adressen');
root/adress_eintrag.php
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/adressen');
// Code erzwingt Anmeldung, Gäste haben keinen Zugriff
if ($user->data['user_id'] == ANONYMOUS)
{
// wenn Benutzer nicht angemeldet ist
}
else
{
// wenn Benutzer angemeldet ist
}
if ($user->data['user_id'] == ANONYMOUS)
{
login_box();
}
// Ende Anmeldung erzwingen. Bis hier OK, ohne Anmeldung kein Zugriff
// zeigt die Anzahl der vorhandenen Datensätze
$sql = 'SELECT COUNT(*) AS count
FROM ' . ADRESSEN_TABLE . '
ORDER BY name';
$result = $db->sql_query($sql);
$count = (int) $db->sql_fetchfield('count');
$db->sql_freeresult($result);
$template->assign_vars(array(
'TERM_ID_COUNT' => $count,
// Ende Anzahl anzeigen. Bis hier OK, Anzahl der vorhandenen Datensätze wird im Template angezeigt
));
// Beginn Daten in Datenbank eintragen
$sql = 'SELECT *
FROM ' . ADRESSEN_TABLE . '
ORDER BY name';
$result = $db->sql_query($sql);
if (isset($_POST["submit"]))
{
$sql = 'INSERT INTO .ADRESSEN_TABLE. (Name, Strasse, PLZ, Ort, Mobil, Festnetz, Email, Homepage, Notiz)
VALUES ('.$_POST['Name'].','.$_POST['Strasse'].','.$_POST['PLZ'].','.$_POST['Ort'].','.$_POST['Mobil'].','.$_POST['Festnetz'].','.$_POST['Email'].','.$_POST['Homepage'].','.$_POST['Notiz'].')';
mysql_query($sql);
$template->assign_vars(array(
'NAME' => $name,
'STRASSE' => $strasse,
'PLZ' => $plz,
'ORT' => $ort,
'MOBIL' => $mobil,
'FESTNETZ' => $festnetz,
'EMAIL' => $email,
'HOMEPAGE' => $homepage,
'NOTIZ' => $notiz,
)
);
}
// Ende Daten in Datenbank eintragen
page_header($user->lang['MEIN_TITEL']);
$template->set_filenames(array(
'body' => 'adress_eintrag.html'
));
page_footer();
?>
Code: Alles auswählen
Es sind <b><font color="crimson">{TERM_ID_COUNT}</font></b> Eintragungen in der Datenbank vorhanden.
<h2>{L_EINTRAGEN}</h2>
<form action="" method="post">
<table width="700" border="0">
<tr>
<td><font face="Verdana" size="2">Cafe / Kneipe</font></td>
<td><input type="text" name="Name" size="30" /></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Straße</font></td>
<td><input type="text" name="Strasse" size="30" /></td>
</tr>
<tr>
<td><font face="Verdana" size="2">PLZ</font></td>
<td><input type="text" name="PLZ" size="5" /></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Ort</font></td>
<td><input type="text" name="Ort" size="30" /></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Mobil</font></td>
<td><input type="text" name="Mobil" size="20" /></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Festnetz</font></td>
<td><input type="text" name="Festnetz" size="20" /></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Email</font></td>
<td><input type="text" name="Email" size="30" /></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Homepage</font></td>
<td><input type="text" name="Homepage" size="40" /></td>
</tr>
<tr>
<td><font face="Verdana" size="2">Notiz</font></td>
<td><textarea name="Notiz" cols="31" rows="3"></textarea></td>
</tr>
<tr>
<td><input type="reset" name="reset" value="Zurücksetzen" /></td>
<td><input type="submit" name="submit" value="Eintragen" /></td>
</tr>
</table>
</form>
Ich habe zum Testen 3 Adressen manuell in phpmyAdmin eingetragen.
Wenn ich jetzt über die Template-Datei versuche Daten einzutragen, erfolgt kein Eintrag.
Es erscheint aber auch keine Fehlermeldung
Was mache ich falsch?