die kleine handliche web-basierte Notiz/Adress-Datenbank fuer php/mysql

This commit is contained in:
lars 2006-06-11 14:24:17 +00:00
parent 0bffe48b4b
commit c84e8b144f
26 changed files with 1363 additions and 0 deletions

View File

@ -0,0 +1 @@
DirectoryIndex start.php

16
notiz-datenbank/README Normal file
View File

@ -0,0 +1,16 @@
Einrichtung der Notiz-Datenbank:
1) Code
php-Dateien beispielsweise nach /var/www/ndb kopieren
2) Datenbank erstellen
cat notiz-datenbank.sql | mysql -u root -p
danach einen Nutzer mit Schreib- und Leserechten fuer die Datenbank 'ndb' anlegen
3) Konfigurations-Datei
die Datei config.php-dist nach /etc/notiz-db/config.php kopieren
Datenbank-Zugang anpassen
4) Testen
lynx localhost/ndb

View File

@ -0,0 +1,21 @@
<?PHP
// some user specific definitions
error_reporting(E_ALL);
$dbName = "ndb";
// der Name der mysql-Datenbank
$dbHost = "localhost";
// der Datenbank-Server
$dbUserName = "ndb_user";
// der Name des mysql-Nutzers
$dbPassWord = "password";
// das Passwort des mysql-Nutzers
$PHP_SELF = &$HTTP_SERVER_VARS["PHP_SELF"];
// die url der aktuellen Seite
?>

View File

@ -0,0 +1,95 @@
<?PHP
// *************** die Funktionen *****************
/* ##### db_connect #####
stellt die Verbindung zum Datenbank-Server her und aktiviert die Datenbank
bei Fehlern wird das Skript mit einer Meldung abgebrochen
die benoetigten Variablen sind $dbUser, $dbHost, $dbName, $dbPass
*/
function db_connect ()
{
global $dbName, $dbHost, $dbUserName, $dbPassWord;
@mysql_connect("$dbHost", "$dbUserName", "$dbPassWord")
or die(abschlussMeldung("Die Verbindung zum Datenbankserver ($dbHost) schlug fehl!"));
@mysql_select_db ($dbName)
or die(abschlussMeldung("Die Datenbank ($dbName) konnte nicht aktiviert werden!"));
}
function hyperlink($ziel,$text)
{
$infos = explode("#","$ziel");
$datei = $infos[0];
$anker = isset($infos[1])? $infos[1] : "";
if (strlen($anker) > 0) $anker = "#" . $anker;
return '<A HREF="' . $datei . $anker . '">' . $text . '</A>';
}
function holeName($id)
{
$result = mysql_query(
"SELECT Vorname, Name FROM Menschen WHERE mensch_id='$id'");
list($vorname,$name) = mysql_fetch_row($result);
$erg = "$vorname $name";
if (mysql_num_rows($result) == 0) $erg = "unbekannte Person";
mysql_free_result($result);
return $erg;
}
function existiertID($mensch_id)
{
$result = mysql_query("SELECT * FROM Menschen WHERE mensch_id='$mensch_id'");
$erg = (mysql_num_rows($result) > 0);
mysql_free_result($result);
return $erg;
}
function abschlussMeldung($text)
{
return '<BR><H3><DIV ALIGN="CENTER">' . $text . '</DIV></H3><BR>';
}
function holeSQLFehlerMeldung($problem)
// fuer den Fall eines SQL-Fehlers liefert sie eine umfassende
// Fehlermeldung aus (formatiert)
{
return abschlussMeldung("Beim Datenbankzugriff trat folgener " .
"Fehler auf:<BR>" . mysql_errno() . " : " . mysql_error() .
"<BR><BR>$problem");
}
function datumsFormat($datText)
// wandelt einen String des MySQL-Datumsformats in die uebliche Schreibweise um
{
if (strlen($datText) == 0) return "";
list($jahr,$monat,$tag) = explode("-","$datText");
return "$tag.$monat.$jahr";
}
// referenziert die angegeben Variablen zu den gleichnamigen
// HTTP_POST_Variablen
function importPOST()
{
global $HTTP_POST_VARS;
$namen = func_get_args();
foreach ($namen as $ak) $GLOBALS[$ak] = &$HTTP_POST_VARS[$ak];
}
// referenziert die angegeben Variablen zu den gleichnamigen
// HTTP_GET_Variablen
function importGET()
{
global $HTTP_GET_VARS;
$namen = func_get_args();
foreach ($namen as $ak) $GLOBALS[$ak] = &$HTTP_GET_VARS[$ak];
}
?>

View File

@ -0,0 +1,53 @@
<?php
/*
- fuegt eine neue Adresse hinzu, bzw. veraendert eine Alte
uebergeben wird: mensch_id, adresse_id, strasse, hausNummer, zusatz,
PLZ, ort, land, notiz
falls adresse_id=-1 oder nicht gesetzt, dann neue Adresse anlegen
- loescht eine Adresse (aktion="delete")
*/
include_once("init.php");
importPOST("adresse_id","submitAdressenliste","mensch_id","strasse",
"hausNummer","zusatz","PLZ","ort","land","notiz","submitAdresse");
if (!isset($adresse_id)) $adresse_id = -1;
// 1. Fall: Auswahl eines Eintrags zur Korrektur
if ($submitAdressenliste == " Bearbeiten ");
// nichts tun, da adresse_id durch Formular bereits gesetzt wurde
// 2. Fall: Loeschung
if (($adresse_id > -1) AND ($submitAdressenliste == " Entfernen "))
{
mysql_query("DELETE FROM Adressen WHERE adresse_id='$adresse_id'")
or die(holeSQLFehlerMeldung("Der Eintrag konnte nicht
gel&ouml;scht werden!"));
$adresse_id = -1;
}
// 3. Fall: Neue anlegen
elseif (($adresse_id == -1) AND ($submitAdresse == "edit"))
// eine Neue
mysql_query("INSERT INTO Adressen (mensch_id,Strasse,
Hausnummer,Zusatz,PLZ,Ort,Land,Notiz)
VALUES('$mensch_id','$strasse','$hausNummer',
'$zusatz','$PLZ','$ort','$land','$notiz')")
or die(holeSQLFehlerMeldung("Die Adresse konnte
nicht hinzugef&uuml;gt werden!"));
// 4. Fall: bestehende korrigieren
elseif ($submitAdresse == "edit")
{
mysql_query("UPDATE Adressen SET Strasse='$strasse', " .
"Hausnummer='$hausNummer', Zusatz='$zusatz', PLZ='$PLZ', " .
"Ort='$ort', Land='$land', Notiz='$notiz' " .
"WHERE adresse_id='$adresse_id'")
or die(holeSQLFehlerMeldung("Die Adresse konnte nicht " .
"ver&auml;ndert werden!"));
unset($adresse_id);
}
include("zeige_mensch.php");
?>

View File

@ -0,0 +1,73 @@
<?PHP
// von auÿen kommt die Variable $adresse_id mit der Nummer des Adresseintrags
// bzw. sie ist nicht gesetzt für einen Neuen
// ausserdem wird die $mensch_id uebergeben
include_once("init.php");
importGET("adresse_id");
if (!isset($adresse_id)) importPOST("adresse_id");
if (!isset($adresse_id)) $adresse_id = -1;
// falls eine bestehende Adresse bearbeitet werden soll
if ($adresse_id > -1)
{
$result = mysql_query("SELECT * FROM Adressen WHERE adresse_id='$adresse_id'");
$infos = mysql_fetch_array($result);
$strasse = $infos["Strasse"];
$hausNummer = $infos["Hausnummer"];
$PLZ = $infos["PLZ"];
$ort = $infos["Ort"];
$zusatz = $infos["Zusatz"];
$land = $infos["Land"];
$notiz = $infos["Notiz"];
}
else
// eine neue Adresse wird angelegt
{
$hausNummer = "";
$strasse = "";
$PLZ = "";
$ort = "Rostock";
$land = "D";
$zusatz = "";
$notiz = "";
}
?>
<P>
<DIV ALIGN="CENTER">
<FORM NAME="Adresse" ACTION="edit_adresse.php?<?PHP print SID; ?>" METHOD="POST">
<DIV ALIGN="CENTER">
<table border="2" cellpadding="4" cellspacing="2">
<COLGROUP><COL WIDTH="33%"><COL WIDTH="37%"><COL WIDTH="30%"></COLGROUP>
<tr> <td colspan="2">Stra&szlig;e: <input type="text" name="strasse" size="22"
value="<?PHP echo $strasse; ?>"></td>
<td>Nr.: <INPUT TYPE="TEXT" name="hausNummer" size="4"
VALUE="<?PHP echo $hausNummer; ?>"</td></TR>
<TR> <td>PLZ: <INPUT TYPE="TEXT" NAME="PLZ" size="6"
value="<?php echo $PLZ; ?>"></td>
<td colspan="2">Ort: <INPUT TYPE="TEXT" NAME="ort"
VALUE="<?PHP print $ort; ?>" size="23"></TD></TR>
<TR> <TD COLSPAN="2">Zusatz: <INPUT TYPE="TEXT" NAME="zusatz"
VALUE="<?PHP print $zusatz; ?>" size="20"></TD>
<TD>Land: <INPUT TYPE="TEXTE" NAME="land"
VALUE="<?PHP print $land; ?>" size="4"></TD></TR>
<tr> <td colspan="3">Notiz: <INPUT TYPE="TEXT" NAME="notiz"
VALUE="<?PHP print $notiz; ?>" size="35"></TD></TR>
</table>
</DIV>
<input type="hidden" name="adresse_id" value="<?php echo $adresse_id; ?>">
<INPUT TYPE="HIDDEN" NAME="submitAdresse" VALUE="edit">
<INPUT TYPE="hidden" NAME="mensch_id"
VALUE="<?PHP print $mensch_id; ?>">
<DIV ALIGN="CENTER"><input type="submit" value=" Eintragen "
ACCESKEY="&#13"></DIV>
</FORM>
</DIV>

View File

@ -0,0 +1,50 @@
<?php
/*
- fuegt eine neue Mailadresse hinzu, bzw. veraendert eine Alte
uebergeben wird: mensch_id, email_id, nutzer, domain, notiz
falls email_id=-1 oder nicht gesetzt, dann neue Mailadresse anlegen
- loescht eine Mailadresse
*/
include_once("init.php");
importPOST("email_id","submitEmailliste","submitEmail","mensch_id",
"nutzer","domain","notiz");
if (!isset($email_id)) $email_id = -1;
// 1. Fall: Auswahl eines Eintrags zur Korrektur
if ($submitEmailliste == " Bearbeiten ");
// nichts tun, da email_id durch Formular bereits gesetzt wurde
// 2. Fall: Loeschung
if (($email_id > -1) AND ($submitEmailliste == " Entfernen "))
{
mysql_query("DELETE FROM eMail WHERE email_id='$email_id'")
or die(holeSQLFehlerMeldung("Der Eintrag konnte nicht
gel&ouml;scht werden!"));
$email_id = -1;
}
// 3. Fall: Neuen anlegen
elseif (($email_id == -1) AND ($submitEmail == "edit"))
// ein Neuer
mysql_query("INSERT INTO eMail (mensch_id,
Nutzer,Domain,Notiz)
VALUES('$mensch_id','$nutzer','$domain','$notiz')")
or die(holeSQLFehlerMeldung("Die Mailadresse konnte
nicht hinzugef&uuml;gt werden!"));
// 4. Fall: bestehenden korrigieren
elseif ($submitEmail == "edit")
{
mysql_query("UPDATE eMail SET Nutzer='$nutzer', " .
"Domain='$domain', Notiz='$notiz' WHERE email_id='$email_id'")
or die(holeSQLFehlerMeldung("Die Mailadresse konnte nicht " .
"ver&auml;ndert werden!"));
unset($email_id);
}
include("zeige_mensch.php");
?>

View File

@ -0,0 +1,58 @@
<?PHP
// von auÿen kommt die Variable $email_id mit der Nummer des Mailadress-Eintrags
// bzw. sie ist nicht gesetzt für einen Neuen
// ausserdem wird die $mensch_id uebergeben
include_once("init.php");
importGET("email_id");
if (!isset($email_id)) importPOST("email_id");
if (!isset($email_id)) $email_id = -1;
// falls eine bestehende Nummer bearbeitet werden soll
if ($email_id > -1)
{
$result = mysql_query("SELECT * FROM eMail WHERE email_id='$email_id'");
$infos = mysql_fetch_array($result);
$nutzer = $infos["Nutzer"];
$domain = $infos["Domain"];
$notiz = $infos["Notiz"];
}
else
// eine neue Nummer wird angelegt
{
$nutzer = "";
$domain = "";
$notiz = "";
}
?>
<P>
<DIV ALIGN="CENTER">
<form name="eMail" action="edit_email.php?<?PHP print SID; ?>" method="post">
<DIV ALIGN="CENTER">
<table border="2" cellpadding="4" cellspacing="2">
<tr> <td><input type="text" name="nutzer"
size="12" value="<?PHP echo $nutzer; ?>">
@ <INPUT TYPE="TEXT" name="domain" size="18"
VALUE="<?PHP echo $domain; ?>"></td></TR>
<TR> <td>Notiz: <INPUT TYPE="TEXT" NAME="notiz"
VALUE="<?PHP print $notiz; ?>" size="25">
</TD></TR>
</table>
</DIV>
<input type="hidden" name="email_id" value="<?php echo $email_id; ?>">
<INPUT TYPE="HIDDEN" NAME="submitEmail" VALUE="edit">
<INPUT TYPE="hidden" NAME="mensch_id"
VALUE="<?PHP print $mensch_id; ?>">
<DIV ALIGN="CENTER"><input type="submit" value=" Eintragen "
ACCESKEY="&#13;"></DIV>
</FORM>
</DIV>

View File

@ -0,0 +1,36 @@
<?PHP
include_once("init.php");
importPOST("gebJahr","gebMonat","gebTag","geburtUnbekannt","mensch_id",
"name","vorname");
if (strlen($gebJahr) == 0) $gebJahr = "0";
if (strlen($gebMonat) == 0) $gebMonat = "0";
if (strlen($gebTag) == 0) $gebTag = "0";
if (!isset($mensch_id)) $mensch_id = -1;
if ($geburtUnbekannt == "unbekannt") $datum = "NULL";
else $datum = "'$gebJahr-$gebMonat-$gebTag'";
// NULL ohne, ein Wert jedoch mit Anfuehrungszeichen
if ($mensch_id == -1)
{
mysql_query("INSERT INTO Menschen (Name,Vorname,Geburt) " .
"VALUES('$name','$vorname',$datum)")
or die(holeSQLFehlerMeldung("Der neue Mensch konnte nicht " .
"angelegt werden!"));
$mensch_id = mysql_insert_id();
}
else
mysql_query("UPDATE `Menschen` SET `Name`='$name', " .
"`Vorname`='$vorname', `Geburt`=$datum " .
// Vorsicht: keine Anfuehrungszeichen fuer Datum! (siehe oben)
" WHERE `mensch_id`='$mensch_id'")
or die(holeSQLFehlerMeldung("Die Daten des Menschen konnten nicht " .
"ver&auml;ndert werden!"));
include("zeige_mensch.php");
?>

View File

@ -0,0 +1,81 @@
<?PHP
include_once("init.php");
// von aussen kommt die Variable $mensch_id mit der Nummer des Menschen
// bzw. sie ist nicht gesetzt für einen Neuen
$monatsNamen= array("","Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
$geburtUnbekannt = false;
if (isset($mensch_id))
{
$result = mysql_query("SELECT * FROM Menschen WHERE mensch_id='$mensch_id'");
$infos = mysql_fetch_array($result);
if (isset($infos["Geburt"]) && strlen($infos["Geburt"]) > 0)
list($gebJahr,$gebMonat,$gebTag) = explode("-",$infos["Geburt"]);
else { $gebMonat = 1; $gebTag = 1; $gebJahr = 0; }
settype($gebMonat,"integer");
settype($gebTag,"integer");
$geburtUnbekannt = (isset($infos["Geburt"]) && strlen($infos["Geburt"]) == 0);
if (0 == $gebJahr) $gebJahr = "";
$name = $infos["Name"];
$vorname = $infos["Vorname"];
}
if (!isset($mensch_id))
{
$id = -1;
$gebTag = 1;
$gebMonat = 1;
$gebJahr = "";
$name = "";
$vorname = "";
$geburtUnbekannt = false;
$mensch_id = -1;
}
?>
<DIV ALIGN="CENTER">
<form name="Mensch" action="edit_mensch.php?<?PHP print SID; ?>" method="post">
<DIV ALIGN="CENTER">
<table border="2" cellpadding="4" cellspacing="2">
<tr> <td>Vorname: <input type="text" name="vorname"
value="<?php echo $vorname; ?>"></td>
<td>Name: <input type="text" name="name"
value="<?php echo $name; ?>"></td></tr>
<tr> <td colspan="2">Geburtsdatum:
<select name="gebTag" size="1">
<?php for ($zvalue=1; $zvalue<=31; $zvalue++)
{
echo "<OPTION VALUE=\"$zvalue\"";
if ($zvalue == $gebTag) echo " SELECTED";
echo ">$zvalue</OPTION>";
} ?>
</select>
<select name="gebMonat" size="1">
<?php for ($zvalue=1; $zvalue<=12; $zvalue++)
{
echo "<OPTION VALUE=\"$zvalue\"";
if ($zvalue == $gebMonat) echo " SELECTED";
echo ">$monatsNamen[$zvalue]</OPTION>";
} ?>
</select>
<input type="text" name="gebJahr" size="5" maxlength="4"
value="<?php echo $gebJahr; ?>">
<INPUT TYPE="CHECKBOX" NAME="geburtUnbekannt"
VALUE="unbekannt"
<?PHP if ($geburtUnbekannt) print 'checked="checked"'; ?>
>unbekannt</TD>
</tr>
</table>
<input type="hidden" name="mensch_id" value="<?php echo $mensch_id; ?>"
size="24">
<DIV ALIGN="CENTER"><input type="submit" value="Eintragen"
ACCESKEY="&#13;" name="submitMensch"></DIV>
</FORM>
</DIV>

View File

@ -0,0 +1,49 @@
<?php
/*
- fuegt eine neue Notiz hinzu, bzw. veraendert eine Alte
uebergeben wird: mensch_id, notiz_id, notiz
falls notiz_id=-1 oder nicht gesetzt, dann neue Notiz anlegen
- loescht eine Notiz
*/
include_once("init.php");
importPOST("notiz_id","submitNotizenliste","submitNotiz",
"mensch_id","notiz");
if (!isset($notiz_id)) $notiz_id = -1;
// 1. Fall: Auswahl eines Eintrags zur Korrektur
if ($submitNotizenliste == " Bearbeiten ");
// nichts tun, da email_id durch Formular bereits gesetzt wurde
// 2. Fall: Loeschung
if (($notiz_id > -1) AND ($submitNotizenliste == " Entfernen "))
{
mysql_query("DELETE FROM Notizen WHERE notiz_id='$notiz_id'")
or die(holeSQLFehlerMeldung("Der Eintrag konnte nicht
gel&ouml;scht werden!"));
$notiz_id = -1;
}
// 3. Fall: Neue anlegen
elseif (($notiz_id == -1) AND ($submitNotiz == "edit"))
// eine Neue
mysql_query("INSERT INTO Notizen (mensch_id,Notiz)
VALUES('$mensch_id','$notiz')")
or die(holeSQLFehlerMeldung("Die Notiz konnte
nicht hinzugef&uuml;gt werden!"));
// 4. Fall: bestehende korrigieren
elseif ($submitNotiz == "edit")
{
mysql_query("UPDATE Notizen SET Notiz='$notiz' " .
"WHERE notiz_id='$notiz_id'")
or die(holeSQLFehlerMeldung("Die Notiz konnte nicht " .
"ver&auml;ndert werden!"));
unset($notiz_id);
}
include("zeige_mensch.php");
?>

View File

@ -0,0 +1,47 @@
<?PHP
// von aussen kommt die Variable $notiz_id mit der Nummer des Notiz-Eintrags
// bzw. sie ist nicht gesetzt für einen Neuen
// ausserdem wird die $mensch_id uebergeben
include_once("init.php");
importPOST("notiz_id");
if (!isset($notiz_id)) $notiz_id = -1;
// falls eine bestehende Nummer bearbeitet werden soll
if ($notiz_id > -1)
{
$result = mysql_query("SELECT * FROM Notizen WHERE notiz_id='$notiz_id'");
$infos = mysql_fetch_array($result);
$notiz = $infos["Notiz"];
}
else
// eine neue Nummer wird angelegt
$notiz = "";
?>
<P>
<DIV ALIGN="CENTER">
<form name="Notiz" action="edit_notiz.php?<?PHP print SID; ?>" method="post">
<DIV ALIGN="CENTER">
<table border="2" cellpadding="4" cellspacing="2">
<tr> <td>Notiz: <input type="text" name="notiz"
SIZE="35" value="<?PHP echo $notiz; ?>">
</TD></TR>
</table>
</DIV>
<input type="hidden" name="notiz_id" value="<?php echo $notiz_id; ?>">
<INPUT TYPE="HIDDEN" NAME="submitNotiz" VALUE="edit">
<INPUT TYPE="hidden" NAME="mensch_id"
VALUE="<?PHP print $mensch_id; ?>">
<DIV ALIGN="CENTER"><input type="submit" value=" Eintragen "
ACCESKEY="&#13;"></DIV>
</FORM>
</DIV>

View File

@ -0,0 +1,52 @@
<?php
/*
- fuegt eine neue Telefonnummer hinzu, bzw. veraendert eine Alte
uebergeben wird: mensch_id, telefon_id, intVorwahl, vorwahl, nummer, notiz
falls telefon_id=-1 oder nicht gesetzt, dann neue Telefonnummer anlegen
- loescht eine Telefonnummer (aktion="delete")
*/
include_once("init.php");
importPOST("telefon_id","submitTelefonliste","submitTelefon","mensch_id",
"intVorwahl","vorwahl","nummer","notiz");
if (!isset($telefon_id)) $telefon_id = -1;
// 1. Fall: Auswahl eines Eintrags zur Korrektur
if ($submitTelefonliste == " Bearbeiten ");
// nichts tun, da telefon_id durch Formular bereits gesetzt wurde
// 2. Fall: Loeschung
if (($telefon_id > -1) AND ($submitTelefonliste == " Entfernen "))
{
mysql_query("DELETE FROM Telefon WHERE telefon_id='$telefon_id'")
or die(holeSQLFehlerMeldung("Der Eintrag konnte nicht
gel&ouml;scht werden!"));
$telefon_id = -1;
}
// 3. Fall: Neuen anlegen
elseif (($telefon_id == -1) AND ($submitTelefon == "edit"))
// ein Neuer
mysql_query("INSERT INTO Telefon (mensch_id,IntVorwahl,
Vorwahl,Nummer,Notiz)
VALUES('$mensch_id','$intVorwahl','$vorwahl',
'$nummer','$notiz')")
or die(holeSQLFehlerMeldung("Die Telefonnummer konnte
nicht hinzugef&uuml;gt werden!"));
// 4. Fall: bestehenden korrigieren
elseif ($submitTelefon == "edit")
{
mysql_query("UPDATE Telefon SET IntVorwahl='$intVorwahl', " .
"Vorwahl='$vorwahl', Nummer='$nummer', Notiz='$notiz' " .
"WHERE telefon_id='$telefon_id'")
or die(holeSQLFehlerMeldung("Die Telefonnummer konnte nicht " .
"ver&auml;ndert werden!"));
unset($telefon_id);
}
include("zeige_mensch.php");
?>

View File

@ -0,0 +1,61 @@
<?PHP
// von auÿen kommt die Variable $telefon_id mit der Nummer des Telefoneintrags
// bzw. sie ist nicht gesetzt für einen Neuen
// ausserdem wird die $mensch_id uebergeben
include_once("init.php");
importGET("telefon_id");
if (!isset($telefon_id)) importPOST("telefon_id");
if (!isset($telefon_id)) $telefon_id = -1;
// falls eine bestehende Nummer bearbeitet werden soll
if ($telefon_id > -1)
{
$result = mysql_query("SELECT * FROM Telefon WHERE telefon_id='$telefon_id'");
$infos = mysql_fetch_array($result);
$nummer = $infos["Nummer"];
$vorwahl = $infos["Vorwahl"];
$intVorwahl = $infos["IntVorwahl"];
$notiz = $infos["Notiz"];
}
else
// eine neue Nummer wird angelegt
{
$nummer = "";
$vorwahl = "381";
$intVorwahl = "49";
$notiz = "";
}
?>
<P>
<DIV ALIGN="CENTER">
<form name="Telefon" action="edit_telefon.php?<?PHP print SID; ?>" method="post">
<DIV ALIGN="CENTER">
<table border="2" cellpadding="4" cellspacing="2">
<tr> <td>Land: <input type="text" name="intVorwahl" size="5"
value="00<?PHP echo $intVorwahl; ?>"></td>
<td>Ort: <INPUT TYPE="TEXT" name="vorwahl" size="7"
VALUE="0<?PHP echo $vorwahl; ?>"</td>
<td>Nr.: <INPUT TYPE="TEXT" NAME="nummer" size="11"
value="<?php echo $nummer; ?>"></td></tr>
<tr> <td colspan="3">Bemerkungen: <INPUT TYPE="TEXT" NAME="notiz"
VALUE="<?PHP print $notiz; ?>" size="43">
</TD></TR>
</table>
</DIV>
<input type="hidden" name="telefon_id" value="<?php echo $telefon_id; ?>">
<INPUT TYPE="HIDDEN" NAME="submitTelefon" VALUE="edit">
<INPUT TYPE="hidden" NAME="mensch_id"
VALUE="<?PHP print $mensch_id; ?>">
<DIV ALIGN="CENTER"><input type="submit" value=" Eintragen "
ACCESKEY="&#13;"></DIV>
</FORM>
</DIV>

View File

@ -0,0 +1,28 @@
<?PHP
include_once("init.php");
importPOST("mensch_id");
if ($mensch_id > -1)
{
@mysql_query("DELETE FROM Adressen WHERE mensch_id='$mensch_id'")
or die(holeSQLFehlerMeldung("die Adressen konnten nicht gel&ouml;scht" .
" werden!"));
@mysql_query("DELETE FROM Telefon WHERE mensch_id='$mensch_id'")
or die(holeSQLFehlerMeldung("die Telefonnummern konnten nicht gel&ouml;scht" .
" werden!"));
@mysql_query("DELETE FROM eMail WHERE mensch_id='$mensch_id'")
or die(holeSQLFehlerMeldung("die eMail-Adressen konnten nicht gel&ouml;scht" .
" werden!"));
@mysql_query("DELETE FROM Notizen WHERE mensch_id='$mensch_id'")
or die(holeSQLFehlerMeldung("die Notizen konnten nicht gel&ouml;scht" .
" werden!"));
@mysql_query("DELETE FROM Menschen WHERE mensch_id='$mensch_id'")
or die(holeSQLFehlerMeldung("der Mensch konnte nicht gel&ouml;scht" .
" werden!"));
}
include("index.php");
?>

17
notiz-datenbank/index.php Normal file
View File

@ -0,0 +1,17 @@
<?PHP include_once("init.php"); ?>
<HTML>
<HEAD>
<TITLE>Notizen-Datenbank</TITLE>
</HEAD>
<BODY>
<?php include("navi.php"); ?>
<H1><BR><DIV ALIGN="CENTER">
NDB
</DIV></H1>
</BODY>
</HTML>

16
notiz-datenbank/init.php Normal file
View File

@ -0,0 +1,16 @@
<?PHP
/*
der erste Schritt (vor dem Head-Teil eines HTML-Dokuments), jedes
anderen Skripts sollte das Laden dieser Datei sein, um die
grundlegenden Daten und Funktionen zu laden und die
Datenbankverbindung aufzubauen
*/
require_once("/etc/notiz-db/config.php");
require_once("definitionen.php");
db_connect();
?>

33
notiz-datenbank/navi.php Normal file
View File

@ -0,0 +1,33 @@
<DIV style="text-align:center">
<TABLE BORDER="0" WIDTH="100%" style="text-align:center">
<TR><TD><?PHP print hyperlink("zeige_alle_menschen.php","Liste der Eintr&auml;ge"); ?></TD>
<TD><?PHP print hyperlink("zeige_alle_menschen.php#neu","Neuer Mensch"); ?></TD></TR>
</TABLE>
<?php
$tabs = mysql_list_tables($dbName);
echo '<TABLE BORDER="0" style="text-align:center" WIDTH="100%">';
print '<COLGROUP ';
print 'WIDTH="' . (100/mysql_num_rows($tabs)) . '" ';
print 'SPAN="' . mysql_num_rows($tabs) . '" ';
print '</COLGROUP>';
print "<TR>";
// die Tabellen anzeigen
$i=0; while ($i < mysql_num_rows($tabs))
{
$tabName = mysql_tablename($tabs,$i);
echo "<TD>";
print hyperlink("zeige_tabelle.php?tab=$tabName",$tabName);
echo "</TD>";
$i++;
}
?>
</TR></TABLE>
</DIV>
<HR>

View File

@ -0,0 +1,91 @@
-- phpMyAdmin SQL Dump
-- version 2.8.0.3-Debian-1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 11. Juni 2006 um 16:15
-- Server Version: 5.0.22
-- PHP-Version: 4.4.2-1+b1
--
-- Datenbank: `ndb`
--
CREATE DATABASE `ndb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `ndb`;
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `Adressen`
--
CREATE TABLE `Adressen` (
`adresse_id` int(11) NOT NULL auto_increment,
`mensch_id` mediumint(11) unsigned NOT NULL default '0',
`Strasse` tinyblob,
`Hausnummer` tinyblob,
`Zusatz` tinyblob,
`PLZ` int(11) default '0',
`Ort` tinyblob,
`Land` tinyblob,
`Notiz` tinyblob,
PRIMARY KEY (`adresse_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=78 ;
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `Menschen`
--
CREATE TABLE `Menschen` (
`mensch_id` mediumint(11) unsigned NOT NULL auto_increment,
`Vorname` varchar(25) default NULL,
`Name` varchar(25) default NULL,
`Geburt` date default NULL,
PRIMARY KEY (`mensch_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=150 ;
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `Notizen`
--
CREATE TABLE `Notizen` (
`notiz_id` int(11) NOT NULL auto_increment,
`mensch_id` int(11) NOT NULL default '0',
`Notiz` text NOT NULL,
PRIMARY KEY (`notiz_id`),
KEY `mensch_id` (`mensch_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=57 ;
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `Telefon`
--
CREATE TABLE `Telefon` (
`telefon_id` int(11) NOT NULL auto_increment,
`mensch_id` mediumint(8) unsigned NOT NULL default '0',
`Nummer` bigint(20) unsigned NOT NULL default '0',
`Vorwahl` int(10) unsigned NOT NULL default '0',
`IntVorwahl` int(10) unsigned NOT NULL default '0',
`Notiz` tinytext NOT NULL,
PRIMARY KEY (`telefon_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=278 ;
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `eMail`
--
CREATE TABLE `eMail` (
`email_id` int(11) NOT NULL auto_increment,
`mensch_id` mediumint(8) unsigned NOT NULL default '0',
`Nutzer` varchar(15) NOT NULL default '',
`Domain` varchar(30) NOT NULL default '',
`Notiz` tinytext NOT NULL,
PRIMARY KEY (`email_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=32 ;

View File

@ -0,0 +1,67 @@
<?PHP
include_once("init.php");
if (!isset($mensch_id) OR !existiertID($mensch_id))
die(abschlussMeldung(
'Die angegebene Person ist nicht in der Datenbank vorhanden! [za]'));
$result = mysql_query(
"SELECT * FROM Adressen WHERE mensch_id='$mensch_id'");
if (mysql_num_rows($result) == 0)
print '<DIV ALIGN="CENTER"><BR>keine Adressen</DIV>';
else
{ ?>
<DIV ALIGN="CENTER">
<FORM NAME="Adressenliste"
ACTION="edit_adresse.php?<?PHP print SID; ?>#adresse"
METHOD="POST">
<TABLE BORDER="2">
<TR><TH>Wahl</TH>
<TH>Adresse</TH>
<TH>Land</TH></TR>
<?PHP
$ersteZeile=true;
// die Datenzeilen
while ($zeile = mysql_fetch_array($result))
{
print '<TR>';
print '<TD ALIGN="CENTER"><INPUT TYPE="RADIO" NAME="adresse_id" .
VALUE="' . $zeile["adresse_id"] . '"';
if ($ersteZeile) print ' CHECKED="CHECKED"';
print '></TD><TD>';
print $zeile["Strasse"] . ' ' . $zeile["Hausnummer"] . '<BR>';
if (strlen($zeile["Zusatz"]) > 0)
print $zeile["Zusatz"] . '<BR>';
print $zeile["PLZ"] . ' ' . $zeile["Ort"] . '</TD>';
print '<TD ALIGN="CENTER">' . $zeile["Land"] . '</TD></TR>';
print '<TR><TD COLSPAN="3" ALIGN="RIGHT">' .
$zeile["Notiz"] . '</TD></TR>';
$ersteZeile = false;
}
print '<INPUT TYPE="HIDDEN" NAME="mensch_id" VALUE="' . $mensch_id . '">';
// die Aktionsknoepfe
?>
</TABLE>
<DIV ALIGN="CENTER">
<INPUT TYPE="SUBMIT" NAME="submitAdressenliste" VALUE=" Bearbeiten ">
<INPUT TYPE="SUBMIT" NAME="submitAdressenliste" VALUE=" Entfernen ">
</DIV>
</FORM>
</DIV>
<?PHP } ?>

View File

@ -0,0 +1,78 @@
<?PHP include("init.php"); ?>
<HTML>
<HEAD>
<TITLE>NDB - Alle Menschen</TITLE>
</HEAD>
<BODY>
<?php
/*
ohne Parameter: sortiert nach Vornamen
falls sort=name: sortiert nach Nachnamen
falls sort=tag: sortiert nach Kalendertag des Geburtstags
falls sort=datum: sortiert nach Geburt
*/
require("navi.php");
importGET("sort");
print '<DIV ALIGN="CENTER">';
print '<TABLE BODER="0"><COLGROUP WIDTH="100" SPAN="3"></COLGROUP><TR>';
// ****************** der Tabellenkopf **********************
print '<TH>' . hyperlink("$PHP_SELF","Vorname") . '</TH>';
print '<TH>' . hyperlink("$PHP_SELF?sort=name","Name") . '</TH>';
print '<TH>' . hyperlink("$PHP_SELF?sort=datum","Geburt") . 's' .
hyperlink("$PHP_SELF?sort=tag","tag") . '</TH>';
print '</TR>';
// ************ die Abfrage ***********************
$kriterien = array("vorname" => "Vorname,Name",
"name" => "Name,Vorname",
"datum" => "Geburt,Vorname,Name",
"tag" => "Right(Geburt,5),Geburt,Vorname,Name");
// Defaultwert
if (!isset($kriterien["$sort"])) $sort="vorname";
$daten = mysql_query("SELECT * FROM Menschen ORDER BY $kriterien[$sort]");
// ******************* die Datenzeilen ***********************
while ($zeile = mysql_fetch_array($daten))
{
print "<TR>";
print "<TD>";
print hyperlink("zeige_mensch.php?mensch_id=" . $zeile["mensch_id"],
$zeile["Vorname"]) . "</TD>";
print "<TD>" . $zeile["Name"] . "</TD>";
$geb = isset($zeile["Geburt"])? $zeile["Geburt"] : "";
print '<TD ALIGN="CENTER">'. datumsFormat($geb) . '</TD>';
print "</TR>";
}
?>
</TABLE>
</DIV>
<H4><HR><DIV ALIGN="CENTER"><A NAME="neu">neuer Mensch:</A>
<?PHP
$HTTP_POST_VARS["mensch_id"] = -1;
include("edit_mensch_formular.php");
?>
</DIV></H4>
</BODY>
</HTML>

View File

@ -0,0 +1,58 @@
<?PHP
include_once("init.php");
if (!isset($mensch_id) OR !existiertID($mensch_id))
die(abschlussMeldung('Die angegebene Person ist nicht in der Datenbank
vorhanden! [ze]'));
$result = mysql_query("SELECT * FROM eMail WHERE mensch_id='$mensch_id'");
if (mysql_num_rows($result) == 0)
print '<DIV ALIGN="CENTER"><BR>keine eMail-Adressen</DIV>';
else
{ ?>
<DIV ALIGN="CENTER">
<FORM NAME="eMailliste"
ACTION="edit_email.php?<?PHP print SID; ?>#email" METHOD="POST">
<TABLE BORDER="2" CELLSPACE="2" CELLPADDING="2">
<TR><TH>Wahl</TH>
<TH>Adresse</TH>
<TH>Notiz</TH></TR>
<?PHP
$ersteZeile=true;
// die Datenzeilen
while ($zeile = mysql_fetch_array($result))
{
print '<TR>';
print '<TD ALIGN="CENTER"><INPUT TYPE="RADIO" NAME="email_id" VALUE="'
. $zeile["email_id"] . '"';
if ($ersteZeile) print ' CHECKED="CHECKED"';
print '></TD>';
print '<TD>' . $zeile["Nutzer"];
print '@' . $zeile["Domain"] . '</TD>';
print '<TD>' . $zeile["Notiz"] . '</TD></TR>';
$ersteZeile = false;
}
print '<INPUT TYPE="HIDDEN" NAME="mensch_id" VALUE="' . $mensch_id . '">';
// die Aktionsknoepfe
?>
</TABLE>
<DIV ALIGN="CENTER">
<INPUT TYPE="SUBMIT" NAME="submitEmailliste" VALUE=" Bearbeiten ">
<INPUT TYPE="SUBMIT" NAME="submitEmailliste" VALUE=" Entfernen "></DIV>
</FORM>
</DIV>
<?PHP } ?>

View File

@ -0,0 +1,93 @@
<?PHP
include_once("init.php");
importGET("mensch_id");
importPOST("notiz_id","adresse_id","telefon_id","email_id");
if (!isset($mensch_id)) importPOST("mensch_id");
// erwartet wird eine $mensch_id
// $telefon_id, $adresse_id, $notiz_id, $email_id jeweils nur bei Bedarf
?>
<HTML>
<HEAD>
<TITLE>NDB - <?PHP print holeName($mensch_id); ?></TITLE>
</HEAD>
<BODY>
<?PHP
include("navi.php");
if (!isset($mensch_id) OR !existiertID($mensch_id))
die(abschlussMeldung('Die angegebene Person ist nicht in der Datenbank
vorhanden! [zm]'));
include("edit_mensch_formular.php");
?>
<HR>
<DIV ALIGN="CENTER">
<TABLE BORDER="0" WIDTH="100%">
<COLGROUP><COL WIDTH="50%"><COL WIDTH="50%"></COLGROUP>
<TR><TD>
<DIV ALIGN="CENTER">
<?PHP include("zeige_telefon.php"); ?>
<A NAME="telefon">
<?PHP include("edit_telefon_formular.php"); ?>
</A>
</DIV>
</TD>
<TD style="border-left-width:3px; border-left-style:double; border-left-color:grey">
<DIV ALIGN="CENTER">
<?PHP include("zeige_adressen.php"); ?>
<A NAME="adresse">
<?PHP include("edit_adresse_formular.php"); ?>
</A>
</DIV>
</TD></TR></TABLE>
<HR>
<TABLE BORDER="0" WIDTH="100%"><COLGROUP><COL WIDTH="40%"><COL WIDTH="60%"></COLGROUP>
<TR><TD>
<?PHP include("zeige_email.php"); ?>
<A NAME="email">
<?PHP include("edit_email_formular.php"); ?>
</A></TD>
<TD style="border-left-width:3px; border-left-style:double; border-left-color:grey">
<?PHP include("zeige_notizen.php"); ?>
<A NAME="notiz">
<?PHP include("edit_notiz_formular.php"); ?>
</A></TD></TR>
</TABLE>
<HR>
<FORM ACTION="entferne_mensch.php?<?PHP print SID; ?>" METHOD="POST">
<DIV ALIGN="CENTER">
<INPUT TYPE="HIDDEN" NAME="mensch_id" VALUE="<?PHP print $mensch_id; ?>">
<INPUT TYPE="SUBMIT" NAME="senden"
VALUE="alle Daten dieses Menschen l&ouml;schen">
<BR>
</DIV>
</FORM>
</DIV>
</BODY>
</HTML>

View File

@ -0,0 +1,56 @@
<?PHP
include_once("init.php");
if (!isset($mensch_id) OR !existiertID($mensch_id))
die(abschlussMeldung('Die angegebene Person ist nicht in der Datenbank
vorhanden! [zn]'));
$result = mysql_query("SELECT * FROM Notizen WHERE mensch_id='$mensch_id'");
if (mysql_num_rows($result) == 0)
print '<DIV ALIGN="CENTER"><BR>keine Notizen</DIV>';
else
{ ?>
<DIV ALIGN="CENTER">
<FORM NAME="Notizenliste"
ACTION="edit_notiz.php?<?PHP print SID; ?>#notiz" METHOD="POST">
<TABLE BORDER="2">
<TR><TH>Wahl</TH>
<TH>Notiz</TH></TR>
<?PHP
$ersteZeile=true;
// die Datenzeilen
while ($zeile = mysql_fetch_array($result))
{
print '<TR>';
print '<TD ALIGN="CENTER"><INPUT TYPE="RADIO" NAME="notiz_id" VALUE="'
. $zeile["notiz_id"] . '"';
if ($ersteZeile) print ' CHECKED="CHECKED"';
print '></TD>';
print '<TD>' . $zeile["Notiz"] . '</TD></TR>';
$ersteZeile = false;
}
print '<INPUT TYPE="HIDDEN" NAME="mensch_id" VALUE="' . $mensch_id . '">';
// die Aktionsknoepfe
?>
</TABLE>
<DIV ALIGN="CENTER">
<INPUT TYPE="SUBMIT" NAME="submitNotizenliste" VALUE=" Bearbeiten ">
<INPUT TYPE="SUBMIT" NAME="submitNotizenliste" VALUE=" Entfernen "></DIV>
</FORM>
</DIV>
<?PHP } ?>

View File

@ -0,0 +1,70 @@
<?PHP
include_once("init.php");
importGET("tab");
// erwartet wird: $tab -> Name der anzuzeigenden Tabelle
?>
<HTML>
<HEAD>
<TITLE>NDB - Tabelle <?PHP print $tab; ?></TITLE>
</HEAD>
<BODY>
<?php
/*
DEPRECATED
dieses Skript dient nur zum Anzeigen der Tabellen und ist nicht mehr
Teil des Web-Projekts
*/
require("navi.php");
echo "<DIV ALIGN=\"CENTER\">";
$felder = mysql_list_fields($dbName,$tab);
echo "<TABLE BORDER=\"2\" CELLPADDING=\"4\" RULES=\"groups\"><THEAD><TR>";
# ---------- die Tabellenk÷pfe ------------
$i=0;
while ($i < mysql_num_fields($felder))
{
$feldName = mysql_field_name($felder,$i);
if ($feldName == "mensch_id") $mensch_id_row=$i;
echo "<TH>" . $feldName . "</TH>";
$i++;
}
echo "</TR></THEAD>";
if ($tab == "Menschen") $mensch_id_row = -1;
# ----------- die Datenzeilen -------------
$daten = mysql_query("SELECT * FROM $tab");
$tabelleLeer = (mysql_num_rows($daten) == 0);
while ($zeile = mysql_fetch_row($daten))
{
echo "<TBODY><TR>";
$i=0;
while ($i < count($zeile))
{
if ($i == $mensch_id_row)
echo '<TD>' . holeName($zeile[$mensch_id_row]) . "</TD>";
else echo "<TD>" . $zeile[$i] . "</TD>";
$i++;
}
echo "</TR></TBODY>";
}
?>
</TABLE>
</DIV>
</BODY>
</HTML>

View File

@ -0,0 +1,63 @@
<?PHP
include_once("init.php");
if (!isset($mensch_id) OR !existiertID($mensch_id))
die(abschlussMeldung('Die angegebene Person ist nicht in der Datenbank
vorhanden! [zt]'));
$result = mysql_query("SELECT * FROM Telefon WHERE mensch_id='$mensch_id'");
if (mysql_num_rows($result) == 0)
print '<DIV ALIGN="CENTER"><BR>keine Telefonnummern</DIV>';
else
{ ?>
<DIV ALIGN="CENTER">
<FORM NAME="Telefonliste"
ACTION="edit_telefon.php?<?PHP print SID; ?>#telefon"
METHOD="POST">
<TABLE BORDER="2">
<TR><TH>Wahl</TH>
<TH>Land</TH>
<TH>Ort</TH>
<TH>Nummer</TH></TR>
<?PHP
$ersteZeile=true;
// die Datenzeilen
while ($zeile = mysql_fetch_array($result))
{
print '<TR>';
print '<TD ALIGN="CENTER"><INPUT TYPE="RADIO" NAME="telefon_id" VALUE="'
. $zeile["telefon_id"] . '"';
if ($ersteZeile) print ' CHECKED="CHECKED"';
print '></TD>';
print '<TD ALIGN="RIGHT">00' . $zeile["IntVorwahl"] . '</TD>';
print '<TD ALIGN="RIGHT">0' . $zeile["Vorwahl"] . '</TD>';
print '<TD ALIGN="RIGHT">' . $zeile["Nummer"] . '</TD></TR>';
print '<TR><TD COLSPAN="4" ALIGN="RIGHT">' .
$zeile["Notiz"] . '</TD></TR>';
$ersteZeile = false;
}
print '<INPUT TYPE="HIDDEN" NAME="mensch_id" VALUE="' . $mensch_id . '">';
// die Aktionsknoepfe
?>
</TABLE>
<DIV ALIGN="CENTER">
<INPUT TYPE="SUBMIT" NAME="submitTelefonliste" VALUE=" Bearbeiten ">
<INPUT TYPE="SUBMIT" NAME="submitTelefonliste" VALUE=" Entfernen "></DIV>
</FORM>
</DIV>
<?PHP } ?>