PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] Unterschriftenlistenscript?


cellunatic
2005-09-02, 22:09:08
Hallo,
leider habe ich mich noch nicht in PHP eingearbeitet und lediglich einige Einführungstutorials gelesen. Vermutlich habe ich aber erstmal nicht die Zeit mich soweit einzuarbeiten, dass ich eine komplette Seite in PHP designen kann.
Es geht um folgendes: Eine Site erstellen auf der Leute Daten wie z.B. Name, Nachname Adresse etc. eintragen können und die dann mittels php auf der nächsten Seite in eine Liste eingetragen werden.
Ich schätze dies ist kein allzu schwieriges unterfangen. Hat jemand vielleicht ein gutes Beispielscript oder so, an dem ich mich orientieren könnte?
danke!

Yan-13
2005-09-03, 10:46:12
Hi,

soll das ganze mit mysql datenbank oder textdatei realisiert werden ?

cellunatic
2005-09-03, 16:03:16
mySQL wäre schon cool
d.h. wenn es vielleicht so ungefähr wie hier (http://www.linxlists.de/unterschreiben.php) aussieht (vom datenbank code her) dann wärs gut.

Yan-13
2005-09-03, 20:45:53
hm kein problem kötte dir eins machen design mäßig kannst du es dann ja anpassen musst mir nur sagen was mit den daten passieren soll willst du die anzeigen lassen wenn ja welche ?

Yan-13
2005-09-03, 21:24:41
Also habe jetzt nal nen script gebastelt so :


<?php
$verbindung = mysql_connect("localhost", "*****" , "*****")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("homepage") or die ("Datenbank konnte nicht ausgewählt werden");
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$straße = $_POST["straße"];
$plz = $_POST["plz"];
$ort = $_POST["ort"];
$email = $_POST["email"];
if($vorname == "" OR $nachname == "" OR $straße == "" OR $plz == "" OR $ort == "" OR $email == "")
{
echo "Eingabefehler. Bitte alle Felder korekt ausfüllen.";
exit;
}
$result = mysql_query("select id from login where username like '$vorname'");
$menge = mysql_num_rows($result);
if($menge == 0)
{
$eintrag = "insert into login (vorname, nachname, straße, plz, ort, email) values ('$vorname', '$nachname', '$straße', '$plz', '$ort', '$email')";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "Daten wurden gespeichert";
}
else
{
echo "Fehler beim Speichern der Daten";
}
}
else
{
echo "Vorname schon vorhanden";
}
?>


so das ist des php script in der Zeile $verbindung = mysql_connect("localhost", "*****" , "*****") musst du bei den ****** den Benutzernamen und das passwort von deiner Datenbank eingeben .

Bei mysql_select_db("homepage") musst du da wo jetzt homepage steht den namen deiner Datenbank eingeben meine Datenbank heißt halt Homepage.

Bei
$result = mysql_query("select id from login where username like '$vorname'"); musst du da wo bei mir jetzt login steht der name der mysql Tabelle hin, die Tabelle hieß bei mir login.

Das wars eigentlich auch schon zur Php datei !
Ich kann nochmal die kleinen Funktionen erklären die ich eingebaut habe :
1. Es wird überprüft ob der Vorname schon vorhanden ist
2. Es wird überprüft ob alle Felder ausgefüllt sind

Soweit so gut nun musst du bei deiner Mysql Datenbank eine Tabelle erstellen die 7 Spalten hat ........
bei name\feld gibst du in die 1. Spalte id ein mit folgenden einstellungen :
typ: int
länge: 10
attribut: unsigned
extras: auto_increment
und dann setzt du noch nen haken bei primärschlüssel

für die anderen 6 Spalten übernimmst du folgende einstellungen

Spalte:
2.spaltenname vorname Länge 35 den rest lässt du
3.spaltenname nachname Länge 35 den rest lässt du
4.spaltenname straße Länge 35 den rest lässt du
5.spaltenname plz Länge 35 den rest lässt du
6.spaltenname ort Länge 35 den rest lässt du
7.spaltenname email Länge 35 den rest lässt du

dann klickst du auf ok und fertig ist die Datenbank .

so nun fehlt nurnoch das Formular um die Daten in die mysql Datenabnk zu bekommen dazu dient ein ganz normales html Formular:


<form action="registrieren.php" method="post">
Vorname:<br>
<input type="text" size="24" maxlength="50"
name="vorname"><br>

Nachname:<br>
<input type="text" size="24" maxlength="50"
name="nachname"><br>

Straße:<br>
<input type="text" size="24" maxlength="50"
name="straße"><br>

Plz:<br>
<input type="text" size="24" maxlength="50"
name="plz"><br>

Ort:<br>
<input type="text" size="24" maxlength="50"
name="ort"><br>

E-Mail:<br>
<input type="text" size="24" maxlength="50"
name="email"><br>

<input type="submit" value="Anmelden">
</form>


Dabei ist zu beachten da ich das ganze in 2 Dateien gemacht habe sprich den oberen php teil in eine .php datei und das Formular in eine .htm Datei das hier:

<form action="registrieren.php" method="post">

da wo jetzt registrieren.php steht unbedingt der name der 1. php datei steht . Bei mir heißt die Datei registrieren.php ,du kannst den namen natürlich übernehmen und die php Datei auch registrieren.php nennen das is dir überlassen ......... !

So wenn du nun bei dem Formular auf Anmelden klickst werden die Daten in der Datenbank gespeichert .......

Wenn du jetzt noch für dich eine script haben willst wo die daten aus der Datenbank wieder ausgegeben werden musst du es sagen ......

Solltest du fragen haben frag einfach ;)

Nun habe ich auch ken Bock mehr zu schreiben ;D

mfg Yan13

Yan-13
2005-09-04, 11:59:42
Aso du hast ja geschrieben das die Daten auf einer anderen Seite ausgegeben werden sollen ..... Da muss ich noch wissen welche daten ausgegeben werden sollen sprich nur Name , Name + Nachname, adresse .........

mfg Yan13

cellunatic
2005-09-04, 12:55:06
Aso du hast ja geschrieben das die Daten auf einer anderen Seite ausgegeben werden sollen ..... Da muss ich noch wissen welche daten ausgegeben werden sollen sprich nur Name , Name + Nachname, adresse .........

mfg Yan13

alter falter! ich danke dir für deine große hilfe!
das ist fantastisch!
zu deiner frage: also ich dachte es mir so, dass vielleicht nur Name/Nachname und das Herkunftsland angegeben werden sollen.
Außerdem vergaß ich noch zu sagen, dass es cool wäre, wenn es noch ein Eingabefeld gäbe wo jeder hinschreiben kann was er z.B. von Beruf ist oder so (also optionales Feld, nicht nötig zur "unterschrift").
Man, wie soll ich dir danken ;D

Yan-13
2005-09-04, 14:32:15
Kein Problem die php Dtei:


<?php
$verbindung = mysql_connect("localhost", "*****" , "*****")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("homepage") or die ("Datenbank konnte nicht ausgewählt werden");
$name = $_POST["name"];
$nachname = $_POST["nachname"];
$herkunftsland = $_POST["herkunftsland"];
$beruf = $_POST["beruf"];
if($name == "" OR $nachname == "" OR $herkunftsland == "")
{
echo "Eingabefehler. Bitte alle Felder korekt ausfüllen.";
exit;
}
$result = mysql_query("select id from login where username like '$vorname'");
$menge = mysql_num_rows($result);
if($menge == 0)
{
$eintrag = "insert into login (name, nachname, herkunftsland, beruf) values ('$name', '$nachname', '$herkunftsland', '$beruf')";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "Daten wurden gespeichert";
}
else
{
echo "Fehler beim Speichern der Daten";
}
}
else
{
echo "Vorname schon vorhanden";
}
?>


und das html formular:


<form action="registrieren.php" method="post">
Name:<br>
<input type="text" size="24" maxlength="50"
name="name"><br>

Nachname:<br>
<input type="text" size="24" maxlength="50"
name="nachname"><br>

Herkunftsland:<br>
<input type="text" size="24" maxlength="50"
name="herkunftsland">
<br>
<br>
Optional:
<br>
Beruf:<br>
<input type="text" size="24" maxlength="50"
name="beruf">
<br>
<br>

<input type="submit" value="Anmelden">
</form>


So das einzige was du nun beachten musst sind die Spalten der mysql Datenbank da musst du nun folgende erstellen:

Soweit so gut nun musst du bei deiner Mysql Datenbank eine Tabelle erstellen die 5 Spalten hat ........
bei name\feld gibst du in die 1. Spalte id ein mit folgenden einstellungen :
typ: int
länge: 10
attribut: unsigned
extras: auto_increment
und dann setzt du noch nen haken bei primärschlüssel

für die anderen 6 Spalten übernimmst du folgende einstellungen

Spalte:
2.spaltenname name Länge 35 den rest lässt du
3.spaltenname nachname Länge 35 den rest lässt du
4.spaltenname herkunftsland Länge 35 den rest lässt du
5.spaltenname beruf Länge 35 den rest lässt du


dann klickst du auf ok und fertig ist die Datenbank .

So das wars auch schon .......

Wenn du die daten dann auch noch ausgegeben haben willst musst du sagen welche .........

mfg Bla

cellunatic
2005-09-04, 21:50:53
sorry, dass ich sone newbie fragen stelle:
1) wie bzw. wo code ich das mit mySQL?
2) und wie sage ich "ihm", was ich ausgeben möchte auf einer fortlaufenden unterschriftenliste?

Yan-13
2005-09-04, 22:04:33
also die datenbank einstellen machst du über deinen webspace anbieter dann über phpadmin .......

so für die Ausgabe musst du mir sagen was in der Ausgabenliste stehen soll

cellunatic
2005-09-04, 22:37:39
in der Ausgabe soll stehen:
Vor- und Nachname, Herkunftsland, Datum der Unterschrift und wenn derjenige die optionale Berufsoption eigegeben hat, dann auch die.
wobei alle daten die nicht ausgegeben werden an mich bzw. den admin geschickt werden sollten per mail oder so
danke dir ! :wink:

Yan-13
2005-09-05, 17:37:32
ok alles np

das is das script zur ausgabe der daten ......


<?php
$verbindung = mysql_connect("localhost" , "deinbenutzername" , "deinpasswort");
mysql_select_db("hier kommt der dtaenbank name hin");
$abfrage = "SELECT name,nachname,herkunftsland,beruf FROM "hier muss der tabellenname hin aber nicht in anführungzeichen"";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo "$row->name, $row->nachname, $row->herkunftsland, $row->beruf <br>";
}
?>


so nun habe ich des mit der email funktion weggelassen und statdessen nen script geschrieben in dem du alle Daten siehst und sie dann auch wieder löschen kannst .......


<?php
$verbindung = mysql_connect("localhost" , "deinbenutzername" , "deinpasswort");
mysql_select_db("hier kommt der dtaenbank name hin");
$abfrage = "SELECT name,nachname,herkunftsland,beruf FROM "hier muss der tabellenname hin aber nicht in anführungzeichen"";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo "$row->name, $row->nachname, $row->herkunftsland, $row->beruf <br><a href=\"loeschen.php?id=$row->id\">Löschen</a><br><br>";
}
?>


so wenn du die datei nun erstellt hast und öffnest erscheinen alle daten unt daruter steht jeweils ein link löschen ......
nun brauchst du noch nen script das du loeschen.php nennst darin muss folgendes stehen:


<?php
$verbindung = mysql_connect("localhost" , "deinusername" , "deinpw");
mysql_select_db("deinedatenbank");


$id = $_GET['id'];
$loeschen = "DELETE FROM "hier kommt wieder dein tabellenname hin ohne anführungszeichen" WHERE id = '$id'";
$loesch = mysql_query($loeschen) or die("Error: $loeschen <br>".mysql_error());

if($loesch == true)
{
echo "Der Eintrag wurde erfolgreich gelöscht";
}
else
{
echo "Fehler beim löschen des Eintrags";
}
?>


So den link der datei wo du die linkfunktin löschen hast behältst du einfach für dich ...... so wenn du denne auf Löschen klickst wird der benutzer mit dem zugehörigen link gelöscht .......

hoffe dir geholfen zu haben .......
solltest du noch fragen haben einfach melden :wink:

Aso sollte dir etwas von der letzlichen funktion unklar seien kann ich auch mal ein "testscript machen" und alle daten auf meinen server laden dann kannst du das script mal ausprobieren .....

mfg Yan13