Website mit Datenbank anbindung

thelch

Cadet 3rd Year
Registriert
Nov. 2009
Beiträge
53
Hallo, da ich jetzt endlich alle Klausuren weg habe wollte ich mich folgendem Projekt zu wenden:

Eine Website programmieren, welche an einen Datenbank angebunden ist. Es sollen Namen +Werte angezeigt und geändert werden können.

Hintergrund:
Die Website soll als Kassensystem eingesetzt werden! Jeder Benutzer hat eine Karte mit Barcode. Und jedes Produkt ebenfalls. Jetzt soll es noch möglich sein das man mit bestimmten Barcodes sein Guthaben aufladen kann.
Es soll quasi als Pre-Paid Modell laufen und ein bestehendes System ersetzen.

Ich habe Grundkenntnisse in HTML und C ;-)

Habe mir per Xampp eine Datenbank auf meinem Rechner erstellt und würd die Website gerne mit Dreamweaver erstellen.

Bin für alternativen jedoch offen, falls es dafür welche gibt.

Die Website soll ungefähr so aussehen:


Uploaded with ImageShack.us

Mit einer Unterseite zum erstellen der Benutzer, und einer fürs erstellen der Produkte.

Jetzt bin auf der Suche nach geeigneten Tutorials, Tipps und Alternativen wie man vll auch ohne Datenbank auskommt!

Vielen Dank schon mal!
Thelch
 
Ich würde zunächst mit der

Datenbank beginnen,
dann das LoginSystem zusammen bauen,
evtl ein registrierformular,
inkl der Admintools danach zur Manipulation der Seite (Produkte hinzufügen/Editieren etc)

Dann würde ich die Ausgabe schreiben im öffentlichen Bereich
(oder zumindest im non Admin Bereich wenn es nur geschlossen laufen soll)

Dann würde ich das Design erst drüber bügeln,
bis dahin zählt eigentlich nur der reine Datenfluss,
wies ausschaut kann man immer noch ändern.

Kann dir gerne bei Fragen weiterhelfen, vor allem im Bezug auf Php/MySql
 
für ein solches system kann ich PHP + MySQL empfehlen.
Es ist weitesgehend sicher (bei richtiger konfiguration und sicherem code) und kommt auch mit großen Datenmengen zurecht.

Ich kann das PHP+MySQL tutorial auf DVD vom Galileo press empfehlen. Es wird alles grundlegende durchgenommen, man braucht eigentlich keine vorkenntnisse (nur ein bisschen HTML).

https://www.computerbase.de/preisvergleich/a585960.html

Eine Datenbank für das obrige Modell würde dann eine Tabelle für die eingetragenen daten mit den Spalten ID, Name, Produkt und Wert beinhalten, (wahrscheinlich noch Details, bestand etc) und ich denke mal eine User-Tabelle ebenfalls mit ID, Name, Guthaben und anderem wie IP, timestamp (der letzten aktion) etc.
Die Daten können dann abgefragt und mit einer simplen schleife in die tabelle eingefügt werden.
Das aber nur als Denkanstoß ;)

Die Galileo-DVD liefert gleich ein tutorial für eine tabellenerstellung aus Datenbank-daten mit. Dies passt ideal zum thema.

MfG
Damon
 
Danke für die schnellen Antworten!

Jo hab ja schon Mysql bei mir laufen. Werde mir mal die DVD angucken und dann mit deren Hilfe das zusammen schustern :-)

Vielen Dank schon mal :)
 
Was spricht gegen ein CMS?
Da gibt es genügend auswahl an guten und kostenfreien...Joomla, Typo3, Typolight (heißt jetzt irgendwie anders), Drupal,...
Halte ich für sowas sinvoller als selbst was zu basteln. Man muss imo nicht das Rad neu erfinden.
 
da stimme ich Black_Panter übrigens auch zu. Es gibt bestimmt schon ein CMS was dafür mit einigen handgriffen nutzbar ist, allerdings falls es nur als hobby geplant ist, ich code gelegentlich auch mal solche sachen, kann man das auch selbst tun.
Wobei nichts dagegen spricht etwas komplett selbst zu erstellen. Es ist zeitaufwendiger als ein fertiges CMS aber dafür ist es von grund auf so wie man will. Wie gesagt muss aber auch besonders darauf geachtet werden, dass sicherer code bereitgestellt wird. Stichpunkt XSS.
Außerdem kann man dann stolz auf sich sein das ganze selbst geschrieben zu haben :P

Stufenintern dürfte so etwas selbstgeschriebenes kein problem sein.

MfG
Damon
 
Es ist als Hobby Anwendung gedacht. Es gibt jedoch auch anfragen von Leuten die es gerne auch einsetzen würden.

Was währen den die Vorteile von CMS?
Von Typo3 hab ich schon mal was gehört, aber nicht mit gearbeitet.
 
Ich hab mir die aufgabenstellung nochmal durchgelesen.
Die Website würd ich nach wie vor über ein CMS verwalten.
Die fehlende Logic kann man dann auf die eine oder andere Weise einbinden. Alles andere seh ich in keinem vernümpftigen Aufwand/Nutzen.
 
Also erst die benötigten Datenbanken mit mqsql erstellen und danach mit nem CMS optisch darstellen.

Gute Idee :-)

Sieht bestimmt besser aus, aber ob es dann noch einfach einzurichten ist für Leien? Also wenn mans weitergibt? DIe Datenbanken bleiben ja unberührt, geht nur um die Seite an sich: Anderes Logo und die Benutzer werden ja eh über die Website nacher erstellt. Hm.
 
Mach es selber, da ist der Lerneffekt halt höher.

Wie andere immer gleich anfangen:

Man braucht das Rad nicht neu erfinden blubb.
Natürlich gibt es so gut wie alles schon fertig, doch wo bleibt der Lerneffekt?
So wie ich das raus lese will er es im Hobby-Bereich einsetzen, was spricht dagegen ein wenig zu lesen und es dann anzupacken?
Und in jedem guten Tutorial wird erklärt, wie man seine Seite auch halbwegs schützen kann.

zahlen auf zahlen prüfen
und so weiter und sofort...

Wenn Du was lernen willst, lesen und anwenden.
Wenn nicht, fertige Sachen verwenden!
 
@volcem: was spricht dagegen erstmal mit nem CMS system in kurzer Zeit was lauffähiges zu haben, um dann selbst was zu erstellen?

@thelch: womit du dich auf jedenfall auch noch beschäftigen musst ist SQL.
 
Nichts spricht dagegen, nur sollte man auch erstmal gucken wie sowas überhaupt Funktioniert, also meine Meinung.
Alternativ kann er auch das CMS studieren und versuchen zu verstehen, doch primär fragte der TE wie er am besten folgendes umsetzen kann:

/*
Eine Website programmieren, welche an einen Datenbank angebunden ist. Es sollen Namen +Werte angezeigt und geändert werden können.
*/

Daher empfiehlt es sich, es selbst zu machen.


Hintergrund meiner "Kritik" war einfach, es wird bei Fragen zur Umsetzung zu schnell auf fertige Systeme verwiesen, wenn es kein Mörder Projekt ist, kann man es erstmal selber versuchen.

Aber jeder wie er mag und will :-)
 
Danke für die ganzen Rückmeldungen.

Ich werd das jetz mit Hilfe das oben vorgeschlagenem Buch selber Programmieren.

Und dann zur gegebene Zeit mir Überlegen wie ich die beste Ausgabe hinbekomme :-)
edit:
Ich habe es jetz geschaft mir die vorhanden Benutzer anzeigen zu lassen und auch zu ändern.
Wie kann ich neben dem Andern Button einen Löschen Button seine Richtige aufgabe zuweisen?
PHP:
<form action = "aendernffb.php" method = "post">

<?php
mysql_connect("","root");
mysql_select_db("benutzer");
$res = mysql_query("select * from personen");
$num = mysql_num_rows($res);
// Tabellenbeginn
echo "<table border='1'>";
// Überschrift
echo "<tr> <td>Auswahl</td> <td>Name</td>";
echo "<td>Vorname</td> <td>Barcode</td>";
echo "<td>Guthaben</td> </tr>";
while ($dsatz = mysql_fetch_assoc($res))
{
echo "<tr>";
echo "<td><input type='radio' name='auswahl'";
echo " value='"
. $dsatz["Barcode"] . "' /></td>";
echo "<td>" . $dsatz["Name"] . "</td>";
echo "<td>" . $dsatz["Vorname"] . "</td>";
echo "<td>" . $dsatz["Barcode"] . "</td>";
echo "<td>" . $dsatz["Guthaben"] . "</td>";
echo "</tr>";
}
// Tabellenende
echo "</table>";
?>
<p><input type="submit" value="Datensatz ändern" />
<input type="submit" value="Datensatz löschen" /></p>
</form>
im moment leiten mich beide auf die ändern Seite um, is ja auch klar da für den 2. Button ja nicht Deklariert wurde wo er hin verweist;-) wie mach ich das?
 
Zuletzt bearbeitet:
Also Formular-löschen willst Du ja nicht? Willst eher den Datensatz löschen?

Kannst doch einfach eine zweite <form> setzen.

PHP:
<?PHP
echo '<form action = "aendernffb.php" method = "post">';

 
mysql_connect("","root"); 
mysql_select_db("benutzer"); 
$res = mysql_query("select `name`, `Vorname`, `Barcode`, `Guthaben` from personen"); 
$num = mysql_num_rows($res); 
// Tabellenbeginn 
echo "<table border='1'>"; 
// Überschrift 
echo "<tr> <td>Auswahl</td> <td>Name</td>"; 
echo "<td>Vorname</td> <td>Barcode</td>"; 
echo "<td>Guthaben</td> </tr>"; 
while ($dsatz = mysql_fetch_assoc($res)) 
{ 
echo "<tr>"; 
echo "<td><input type='radio' name='auswahl'"; 
echo " value='" 
. $dsatz["Barcode"] . "' /></td>"; 
echo "<td>" . $dsatz["Name"] . "</td>"; 
echo "<td>" . $dsatz["Vorname"] . "</td>"; 
echo "<td>" . $dsatz["Barcode"] . "</td>"; 
echo "<td>" . $dsatz["Guthaben"] . "</td>"; 
echo "</tr>"; 
} 
// Tabellenende 
echo "</table>"; 
echo '<p><input type="submit" value="Datensatz ändern" />'
//Datensatz Ändern ^^
echo '</form>'

//Neuer Button!
echo '<form action="lösche.php" method="POST" name="löschen">';
echo '<input type="submit" value="Datensatz löschen" /></p></form>';
?>

*edit*

Verwende niemals Root, sondern benutze einen eingeschränkten Nutzer, also erstelle einen nur für die Seite. Dieser darf dann nur soviel Rechte haben um keinen Schaden anzurichten wenn man was ist!
Jetzt für zuhause sollte das noch gehen, doch wenn man sich das angewöhnt vergisst man sowas nicht!
 
Zuletzt bearbeitet:
Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';'

wenn ich das von dir vorgeschlagene Einfüge :-(

angeblich in der Zeile: echo '</form>'

aber Danke schon mal, so langsam machts Fortschritte:evillol:
 
Upps...
Hab ich doch glatt das semikolon vergessen.

Ersetze :

PHP:
echo '<p><input type="submit" value="Datensatz ändern" />'
echo '</form>'

zu

PHP:
echo '<p><input type="submit" value="Datensatz ändern" />';
echo '</form>';


:)
 
Das hab ich schon ausprobiert, aber klappt immer noch net :-'(
PHP:
<html>
<head>
<?php
if (isset($_POST["gesendet"]))
{
mysql_connect("","root");
mysql_select_db("getraenke");
$sqlab = "insert sorten"
. "(Name, Barcode, Wert,"
. " Anzahl) values "
. "('" . $_POST["na"] . "', "
. $_POST["bc"] . ", "
. "'" . $_POST["wt"] . "', "
. "'" .  $_POST["az"] . "')";
mysql_query($sqlab);
$num = mysql_affected_rows();
if ($num>0)
{
echo "<p><font color='#00aa00'>";
echo "Es wurde 1 Datensatz hinzugefügt";
echo "</font></p>";
}
else
{
echo "<p><font color='#ff0000'>";
echo "Es ist ein Fehler aufgetreten, ";
echo "es wurde kein Datensatz hinzugefügt";
echo "</font></p>";
}
}
?>d>
<body>
<p>Geben Sie bitte einen vollständigen Datensatz ein<br />
und senden Sie das Formular ab:</p>
<form action = "getraenkeerstellenff.php" method = "post">
<p><input name="na" /> Name</p>
<p><input name="bc" /> Barcode</p>
<p><input name="wt" />
Wert(Nachkommastellen mit Punkt)</p>
<p><input name="az" /> Anzahl
</p>
<p><input type="submit" name="gesendet" />
<input type="reset" /></p>
</form>

<p>Alle Datensätze <a href="getraenkeff.php">anzeigen</a></p>
 <p>Wählen Sie aus, welcher Datensatz geändert werden soll:</p>
<?PHP
echo '<form action = "aendernffb.php" method = "post">';

 
mysql_connect("","root"); 
mysql_select_db("benutzer"); 
$res = mysql_query("select `name`, `Vorname`, `Barcode`, `Guthaben` from personen"); 
$num = mysql_num_rows($res); 
// Tabellenbeginn 
echo "<table border='1'>"; 
// Überschrift 
echo "<tr> <td>Auswahl</td> <td>Name</td>"; 
echo "<td>Vorname</td> <td>Barcode</td>"; 
echo "<td>Guthaben</td> </tr>"; 
while ($dsatz = mysql_fetch_assoc($res)) 
{ 
echo "<tr>"; 
echo "<td><input type='radio' name='auswahl'"; 
echo " value='" 
. $dsatz["Barcode"] . "' /></td>"; 
echo "<td>" . $dsatz["Name"] . "</td>"; 
echo "<td>" . $dsatz["Vorname"] . "</td>"; 
echo "<td>" . $dsatz["Barcode"] . "</td>"; 
echo "<td>" . $dsatz["Guthaben"] . "</td>"; 
echo "</tr>"; 
} 
// Tabellenende 
echo "</table>"; 
echo '<p><input type="submit" value="Datensatz ändern" />'
//Datensatz Ändern ^^
echo '</form>';

//Neuer Button!
echo '<form action="lösche.php" method="POST" name="löschen">';
echo '<input type="submit" value="Datensatz löschen" /></p></form>';
?> 
</body>
</html>

Das is die Komplette Seite, vll n bischen unübersichtlich aber der Rest funktionierte, bis auf der Löschen Button :-)
 
Du hast ja auch immer noch ein semikolon vergessen:
Siehe dazu Zeile :

echo '<p><input type="submit" value="Datensatz ändern" />' < hier > fehlt ein ;

Dann hast Du einen kleinen Fehler bei:


HTML:
echo "</font></p>"; 
} 
} 
?>d>

Was macht das d> da? :)

Dann schreibst Du dass der Löschbutton nicht geht, was "geht" denn nicht?
 
Zuletzt bearbeitet:
Klasse so funktioniert das ich auf die Seite weitergeleitet werde, jedoch wird die Auswahl nicht mit übernommen :-(
Es kommt immer : Es wurde kein Datensatz ausgewählt
 
Zurück
Oben