Tutorial Erweiterung | SQL Inhalte über Webinterface ein/ausgeben

UncleB

Mitglied
Hallo,
Ich bin gerade dabei ne kleine Seitre für unseren Sportverein zu gestalten, und ich wollt es den Jugendtrainer dann auch ermöglichen das jede Jugend auch einen kleinen Bereich hat in dem der Trainer über ein Interface schreiben kann, zB wann das nächste Training ist, oder falls mal ein Traing ausfällt...
Und gleich mal vorneweg, ich bin totaler ...
Also.. mir kam dieses Tutorial eigtl. recht gelegen, erfüllt seinen zweck total, nur wird ja bei jedem eintrag neue neue Zeile bei der Ausgabe geschrieben, und ich wollte jetzt euch fragen ob es möglich wär das der Trainer seinen eintrag immer wieder im Interface editieren könnte, und auch löschen (Wie ne Gästebuch Administration) im Webinterface?
Würde mich sehr über Antworten freuen..
 
Möglich ist das sicherlich. Man erstellt ein Formular, welches den entsprechenden Datensatz der Datenbank selektiert und im Formular "veröffentlicht", sodaß man den Text ändern kann und schickt dieses wieder ab, sodaß der Datensatz via UPDATE in die Datenbank gelangt.
Das war die "Bastelvariante" ... eine einfache Variante wäre dem Trainer Zugriffsrechte zu phpMyAdmin zugeben, wo er sich den entsprechenden Datensatz heraus sucht und ändern kann, was sicherlich keine schöne Lösung ist.
Hast du denn schon Lösungsansätze? Ich denke der erste Schritt wäre zu überlegen, welche Informationen wo abgerufen werden sollen - Sprich - Gibt es für die verschiedenen Manschaften verschiedene Seiten? wenn ja sollte bereits eine zusätzliche Spalte in der Tabelle der Datenbank eingefügt werden, die die entsprechende Sektion bezeichnet.

bsp.weise so

GROUP (integer)
1 (entspricht Altersklasse 12/13)
2 (entspricht Altersklasse 14/15)
3 ... usw.

Vielleicht solltest Du Dein Konzept genauer vorstellen ... was für Kenntnisse in Sachen html/php hast du? Wo kommst Du nicht weiter? Gibt es bereits ein Script, welches nicht funktioniert? Dann fällt die Hilfe auch leichter ;)

Formularerstellung

greetz
 
Hallo, Erstma Thx für die rasche Antwort,
Also HTML behersch ich eigentlich ziemlich, auch Formulare, aber eben nur mit der "Post" und "Get" Methode,
PHP steh ich leider erst am Anfang, mach zB gerade die PHP Seminar DVD durch, und bin gerade ma bei Variabeln, und von SQl hab ich halt leider noch Null Ahnung,
Und ja es sollte für jede Mannschaft ne extra Seite geben also angefangen von der G-Jugend bis zu ersten Herrenmannschaft,
Naja dem Trainer den Loggin zum PHPMyAdmin geben hatte ich eigtl nich vor.. und auserdem glaub ich wär des zu aufwendig, kapiert ja keiner :)
Also besser glaub ich wär schon die "Bastelvariante"
Lösungsansätze leider keine, weil wie gesagt nicht viel bzw keine Ahnung von MySQL :(
 
Was sollte denn noch in solch einer Tabelle der MySQL stehen?

Bis jetzt haben wir

ID
GROUP (Welcher Mannschaftsgruppe zugeordnet)
A_DESCR (aboutDescription - die Überschrift einer Nachricht)
D_DESCR (detailedDescription - die Nachricht/Text)
TIME_INSERT (wann Eintrag erfolgt ist)

FROM ... wäre noch ein Faktor, der zubeachten wäre, wenn mehrere Leute eintragen können.

Um aus einem Formular etwas in eine Datenbank einzutragen, mußt Du die Vars aus dem Formular nehmen.
Bsp.weise ...
HTML:
<input type="text" name="ueberschrift" size="30">
Die $_POST Variable würde in diesem Fall heißen
PHP:
$_POST['ueberschrift']
Da du dich bereits mit Formularen beschäftigt hast, kennst du sicherlich den Tag action="...", auf dieser Seite kannst du die Variablen nach Belieben händeln. Nehmen wir an dein Formular wird an "eintragen.php" geschickt ...

eintragen.php
PHP:
// Ausgabe der Variable
print $_POST['ueberschrift'];

// Eintragen in eine Datenbank

$eintrag = "INSERT INTO Tabellenname.der.Datenbank (A_DESCR) VALUES (".$_POST['ueberschrift'].")";

$eintragen = mysql_query($eintrag)  or die(mysql_error());

Es ist also vom Grundprinzip recht einfach, jedoch sollten diese Eingaben vorher geprüft werden!!
Eine Auflistung von SQL-Befehlen mit entsprechenden Erklärungen und Tests findest du HIER.

An welchen Zeitraum hast du denn gedacht, daß solch ein Vorhaben umgesetzt wird? Denn "mal eben schnell" was auf die Beine stellen, wird denk ich mal nicht so dem Sinn dienen, denn auf die Seite greifen ja dann doch schon ein paar Leute zu.
Wie wäre es denn, wenn du das Formular erstellst und dann gehts pö a pö weiter? Oder möchtest Du, dass dir einer ein komplettes Script schreibt (wo jedoch kein Lerneffekt da ist ;))
 
Also Zeitraum sag ich mal 4tes Quartal :) Also ich will mir da auch keine Deathline oder ähnliches setzten....
Und ne des klar, will natürlich kein Fertiges Script..
Wills schon verstehen was passiert, und auserdem kann ich vll ja dan das erlernte auch in andren bereichen der Website gebrauchen, um sie noch dynamischer zu gestalten :p
Also versteh ich das richtig, ich sollte am besten das ganze Script neu schreiben? Und nich das Tutorial erweitern.
Also Tabellen die hast eigtl alle aufgelistet,
Und es sollten eigtl nich mehr Leute eintragen können.
Sondern nur von jeder Jugend der Trainer bzw. ein Verantwortlicher
Also News zB bei der G-Jugend kann nur der Martin Huber eintragen bei der FJugend der Martin Meier usw usw, der G- Jugend Trainer hat nix im Bereich vom F Jugend Trainer zu suchen.
Ok was mir jetzt wärend dem Tippen noch eingefallen is, Es gibt ja auch Jugendleiter, von demher wärs vll nicht schlecht wenn dieser auf alle Jugenden zugreifen könnte, da ers warscheinlich als erstes erfährt wenn zB ein Spiel abgesagt wird.
Da kommt dan warscheinlich dein "From" ins Spiel oder?
Formular hab ich bereits mal erstellt:
Code:
<html>
<head>
<title>Eingabe</title>
</head>
<body>

  <form action="eintrag.php" method="post" enctype="text/plain">
  Überschrift: <br />
  <input type="text" name="ueberschrift" size="30"/> <br />
  Inhalt: <br />
  <textarea name="user_eingabe" cols="50" rows="10"></textarea><br />
  <input type="submit" value="Abschicken"/>
  </form>

</body>
</html>
 
Zuletzt bearbeitet:
Jep, dazu benötigst du das FROM, welches du auch als Eingabefeld mit in das Formular aufnehmen solltest. Mußt Dir vorher nur überlegen, in welcher Form sich die Leute anmelden ... um eine Nachricht zu erstellen? Willst du das über ein Loginsystem machen oder über ein Passwort lösen? Dazu muß ebenfalls ein eingabefeld vorhanden sein.
Du merkst, da hängt noch ne Menge Vorbereitung dran :)
 
Okay,
Ich bin eigtl von nem Loginsystem ausgegangen, und
Wenn sich jetzt Max Mustermann anmeldet.. und dieser einen Eintrag dan verfasst dann auch angezeigt wird :"geschrieben von Max Mustermann", weil des ja auch Doof wenn der jedes mal seinen Namen Tippen muss...
Oder denkst man sollte Radiobuttons oder ein Auswahlmenü mit Passwort einbaun..
Am einfachsten wärs natürlich wenn ich nur ein Passwort für jeden Benutzer/Trainer verwenden würde
 
Aso ... wenn ein LoginSystem vorhanden, um so besser.
Najut. Denn kann es ja losgehen

Im Formular sieht der action-Tag wie folgt aus ...
PHP:
... action="<?php print $_SERVER['PHP_SELF'] ?>" ...
Hat zur Folge, dass die Seite, die du bspweise eintragen.php nennst, selbst aufgerufen wird und du nicht ewig viele Dateien auf dem Server liegen hast.
PHP:
 <form action="<?php print $_SERVER['PHP_SELF'] ?>" method="post" enctype="text/plain">
  Überschrift: <br />
  <input type="text" name="ueberschrift" size="30"/> <br />
  Inhalt: <br />
  <textarea name="user_eingabe" cols="50" rows="10"></textarea><br />
  <input type="submit" value="Abschicken"/>
  </form>
<hr>
<?php

print $_POST['ueberschrift'] ."<br>";

$ueberschrift = $_POST['ueberschrift'];

print "Variable -> ". $ueberschrift;
?>
Um zu prüfen ob die Überschrift vorhanden ist nimmt man am besten empty()
Die dort angegebenen Zeilen helfen dir erstmal zu überprüfen, ob eine Eingabe vorliegt oder ein leeres Input-Feld gesendet wurde.
 
Puhh
Jetzt hast mich grad ziemlich überrumpelt,
Also so wie dus jetzt geschrieben hast läuft das alles auf einer Seite ab?
Ich glaub das aber bisschen schwerer zu kapieren oder?
Mir wär die einfachere Variante lieber,
Also ganz normal action="eintragen.php" ..
Weil sowas wie PHP_Self sagt mir jetz zB gar nix

Edit:
So ich habs jetzt mal aufgeteilt:
eingabe.php

PHP:
 <form action="eintragen.php" method="post">
  Überschrift: <br />
  <input type="text" name="ueberschrift" size="30"/> <br />
  Inhalt: <br />
  <textarea name="user_eingabe" cols="50" rows="10"></textarea><br />
  <input type="submit" value="Abschicken"/>
  </form>

Und die eintragen.php
Hab mich auch gleich ma an deine "empty()" gesetzt, und scheint zu funktionieren!

PHP:
<?php

$ueberschrift = $_POST["ueberschrift"];
	echo $_POST["ueberschrift"];

// Eingabe Überprüfung
if (empty($ueberschrift)) {
    echo 'Du hast keine Überschrift eingegeben';
}
?>
 
Zuletzt bearbeitet:
Ja man kann alles auf einer Seite ablaufen lassen. So wie ich dir das Formular mit php - Zusätzen kopiert habe, kannst du es ja mal ausprobieren und schauen was passiert oder eine eintragen.php erstellen mit folgenden Inhalt
PHP:
<?php

print $_POST['ueberschrift'] ."<br>";

$ueberschrift = $_POST['ueberschrift'];

print "Variable -> ". $ueberschrift;
?>

EDIT

oh, da warst du schneller ... ja genau.

Dann schau dir die Funktionen
http://de3.php.net/trim
http://de3.php.net/strlen
an ... um einerseits die leerzeichen am Anfang und Ende zu entfernen und strlen für die Länge einer bsp.weise Überschrift
 
Zuletzt bearbeitet:
Zurück