Profil + Memberliste coden.

Guten Tag liebe Html.de-User und Gäste,

da ich mit dem Php-Lernen noch im Anfangstatus bin, frage ich hier nach Hilfe. Wofür ich mich jetzt schonmal herzlich bedanke.

Und zwar möchte ich ein Profil haben, wo man sein eigenen Steckbrief eintragen kann, so ne Art Memberliste.

Hier habe ich eine kleine Skizze vorbereitet um Euch meine Vorstellung leichter erklären zu können :wink: Natürlich stehe ich für weitere Details offen.

Hier meine Planfigur bzw. Gerüst:

Um sein Profil einzutragen zu können soll so ein Formular erscheinen:

http://img106.imageshack.us/img106/5254/1zp7.jpg

und wenn man sein Profil eingetragen hat, soll es in der memberliste anschließend so wiedergegeben werden:

http://img106.imageshack.us/img106/2971/2oz4.jpg.

Am besten wäre wenn mir jemand ein Grundgerüst coden würde und ich es denn bisschen umschreiben kann, dadurch lerne ich persönlich am besten aber ich nehme auch jeden anderen hilfreichen post zum Herzen.

Ich verbleibe mit freundlichen Grüssen, Q-Meax.

Hast du dich nicht mit dem Forum vertan? Gehört doch eher in die Jobbörse :roll::wink:

Aber um nicht off-Topic zu sein:

Hier mal die Art und weise, mit der du das ganze machst:

Der User trägt seine Daten ein, die dann per POST an ein anderes script übergeben werden. Dort werden die Angaben mithilfe von einem Regex geprüft, und gegebenenfalls eine Fehlermeldung ausgeworfen, dass einige zeichen nicht benutzt werden dürfen. Wenn aber alles OK ist, dann werden die Daten in eine MySql-Datenbank eingetragen. Das ganze lässt sich dann so ähnlich wie hier auslesen (sofern mein Code richtig ist :lol: ), nur mit einem entsprechenden Design.

Erfordert nur ein paar Kenntnisse von PHP in Verbindung mit MySql.

Hier noch 2 Links:
Falls du dich gar nicht mit MySql auskennst
so (oder ähnlich) kann es am Ende aussehen

Ahja: du musst dir zudem was einfallen lassen, damit nicht gespammt wird, sonst könnte es sein dass deine Liste nach wenigen Tagen auf mehrere hundert Leute anwächst :smiley:

Hast du dich nicht mit dem Forum vertan? Gehört doch eher in die Jobbörse Hast du dich nicht mit dem Forum vertan? Gehört doch eher in die Jobbörse
Nein. Ich möchte ja das auch user, so wie du, mir hilfreiche links schicken können etc.

Danke für deine Links, werde sie mir mal anschauen. Habe noch keine großen Erfahrung mit php und myql. :frowning:

Ahja: du musst dir zudem was einfallen lassen, damit nicht gespammt wird, sonst könnte es sein dass deine Liste nach wenigen Tagen auf mehrere hundert Leute anwächst
Das ist das kleinste Problem. wenn ich erstmal diesen Scrip fertig habe, bin ich froh.

Würdes du mir weiterhin helfen? Wäre nett.

Also ich bin selber noch nicht so ein Pro in dem Bereich, aber helfen werd ich dir bestimmt können. Schreib einfach, wo genau dein Problem liegt :slight_smile:

Danke für die Links. Die Seite gefiel mir so gut das ich jetzt ne komplette in php coden möchte oder es versuche :wink: Ach, mit euer Hilfe schaff ich das schon greez

Hier wird auch ein Memberscribt gecodet: http://tut.php-q.net/login-member.html Vielleicht hilft es dir.

Danke FleyShaver. Ist echt lieb von dir.

Hat den jemand schon gemacht? also kann ich ne Demo sehen. Nicht das ich mich da durcharbeite und der entspricht nicht meinen Vorstellung .

Ich bin halt (noch) ein php-anfänger.

Leider gibts dort keinerlei Beispiele, aber das ist eindeutig das, was du brauchst, da es im Grunde darum geht Daten aus Datenbanken auszulesen und zu verändern. Bis auf ein paar PHP-Grundkenntnisse, wie das vergeben von Variablen oder if-Abfragen bracuhste da auch kaum.

So ein Memberscripts ist gar nicht schwer. Allerdings fehlt mir gerade die Zeit und Lust dazu, ein komplettes hier im Forum zu schreiben.
Eventuell müsste man auch wissen, ob, WENN ich eins schreib, ich alles in eine Datei packen kann oder ob es dann zu unübersichtlich wird.

Kann dir sonst auch ein FTP-Zugang einrichten :wink:

FTP hab ich selbst. Wenn dann probier ich das auf meinem eigenen Server.
Ich schau mal, wenn ich Zeit hab, mach ich das.

Dann schreib ich dir mal das Script:
register.php:
[php]<?php if (isset($_POST['submit'])){ $user=""; $password=""; $host="localhost"; $dbname=""; $con=mysql_connect($host, $user, $password) or die ("Verbindungsaufbau fehlgeschlagen"); mysql_select_db($dbname)or die(mysql_error()); mysql_query("INSERT INTO deinedb (Name, Email, Homepage) VALUES ('".$_POST['name']."','".$_POST['mail']."','".$_POST['page']."'");} ?>

Name:
Email:
Homepage: [/php] Memberlist.php : [php]$q=mysql_query("SELECT Name,Email,Homepage FROM deinedb"); while($row=mysql_fetch_assoc($q)){ echo $row['Name']; echo $row['Email']; echo $row['Homepage']; echo "
";[/php] Profil.php : [php]$q2=mysql_query("SELECT Name,Email,Homepage FROM deinedb WHERE Name='".$_GET['name']."'"); while($row2=mysql_fetch_assoc($q2)){ echo $row2['Name']; echo $row2['Email']; echo $row2['Homepage']; echo "
";[/php] In der profil.php muss deine Url ungefähr so aussehen: www.deinedomain.de/profil.php?name=Testuser Gruß, Fredmonster

Muss ich da noch irgendwo ne Datenbank oder so anlegen?

Edit: ahh hat sich erledigt, habs gefunden :wink:

@Q-Meax: Ja, das musste machen, und du musst auch das PW und deinen Usernamen als Werte in die Variablen „$user“ und „$password“ schreiben.

@Fredmonster: Sieht ganz gut aus, ich würde allerdings eine Sache anders machen, im Profil.php:

[php]$q2=mysql_query(„SELECT Name,Email,Homepage FROM deinedb WHERE Name='“.$_GET[‚name‘].„'“);
if(mysql_num_rows($q2))
{
while($row2=mysql_fetch_assoc($q2))
{
echo $row2[‚Name‘];
echo $row2[‚Email‘];
echo $row2[‚Homepage‘];
echo „
“;
}
}
else
{
echo „Der User konnte nicht gefunden werden.“;
}[/php]
So kann man noch ne Fehlermeldung ausgeben, wenn der User nicht gefunden wurde :wink:

Man könnte noch in der register.php überprüfen, ob es den Namen/ die Mailadresse bereits gibt, um Dopplungen zu vermeiden, aber das ist Sache von Q-Meax, kommt drauf an wie er es möchte.

Bin hier gerade beim Freund und der hat das mal hochgeladen aber irgendwie funktioniert das nicht.

Siehe hier

Der Form-Tag hat ja nichtmal nen Submit-Button…

Ahja: An den Anfang von jeder PHP-Datei sollte man [phpnet]error_reporting/phpnet; reinschreiben, damit man über alle fehler informiert wird.

Und was auch wichtig ist: vor das mysql_connect ein „@“ schreiben, sonst könnte bei einem Fehler dein PW und Name im Error stehen :shock:

jo… sorry! Hab ich vergessen… also unter den letzten submit-button muss natürlich noch das:
[html][/html]
@Commondore… natürlich gehts besser… sollte ja nur nen Testscript werden… es könnte sich auch ein User namesn


anmelden… da wäre das Design im ****… Aber das dürfte so für den Anfang reichen…
Gruß, Fredmonster!

bei memberlist.php und profil.php fehlt die connection zur db, das kann man so schon sehen!

auch ohne error reportion (E_ALL) :wink:

Ich hab jetzt mal selber was gemacht, könntet ihr mir helfen darin Fehler zu finden?

daten.php
[php]define(‚MYSQL_HOST‘,‚Host‘); //Dein Host
define(‚MYSQL_USER‘,‚Username‘); //Dein Username
define(‚MYSQL_PASS‘,‚Passwort‘); //Dein Passwort
define(‚MYSQL_DATABASE‘,‚Datenbank‘);//Der Name der Datenbank
define(‚MYSQL_TABELLE‘,‚Tabelle‘) //Der Name der Tabelle, in die alles eingetragen wird.[/php]

register.php[php]<?xml version="1.0" encoding="ISO-8859-1" ?>

Benutzer Registrieren <?php error_reporting(E_ALL); include("daten.php"); if(isset($_POST['submit'])){ @mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS) OR die('Verbindung zur Datenbank war Fehlerhaft'); mysql_select_db(MYSQL_DATABASE) OR die('Datenbank konnte nicht ausgewählt werden'); $benutzer = htmlspecialchars(addslashes(trim($_POST['vorname']))); $mailadresse = htmlspecialchars(addslashes(trim($_POST['mailadresse']))); $homepage = htmlspecialchars(addslashes(trim($_POST['homepage']))); if(!empty($benutzer) AND !empty($mailadresse) AND !empty($homepage)){ $sql = "INSERT INTO ".MYSQL_TABELLE."(vorname,mailadresse,homepage) VALUES ('".$benutzer."','".$mailadresse."','".$homepage."');"; $ergebnis = mysql_query($sql) OR die("Der User ".$_POST['vorname']." konnte nicht in die Datenbank geschrieben werden."); echo "Der User ".$_POST['vorname']." wurde in die Datenbank eingetragen.\n"; } else { echo "Bitte geben sie einen gültigen Namen, eine eMailadresse und eine homepage an.\n"); } } else { echo "\n"; echo "Vorname:
\n"; echo "eMail:
\n"; echo "Homepage:
\n"; echo "
\n"; echo "\n"; } ?> [/php] user.php [php]<?xml version="1.0" encoding="ISO-8859-1" ?> Benutzer anzeigen <?php error_reporting(E_ALL); include('daten.php'); @mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS) OR die('Verbindung zur Datenbank war Fehlerhaft'); mysql_select_db(MYSQL_DATABASE) OR die('Datenbank konnte nicht ausgewählt werden'); $zeige = "SELECT name, mailadresse, homepage FROM ".MYSQL_TABELLE." ORDER BY name ASC;"; $ergebnis = mysql_query($zeige) OR die('User konnten nicht ausgewählt werden.'); if(mysql_num_rows($ergebnis)){ echo "\n"; while($row = mysql_fetch_assoc($ergebnis)){ echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; } echo "
".$row['vorname']."".$row['mailadresse']."".$row['homepage']."
\n"; } else { echo "Keine User verfügbar"; }

?>

[/php] benutzer.php[php]<?xml version="1.0" encoding="ISO-8859-1" ?> Benutzer anzeigen <?php error_reporting(E_ALL); include('daten.php'); @mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS) OR die('Verbindung zur Datenbank war Fehlerhaft'); mysql_select_db(MYSQL_DATABASE) OR die('Datenbank konnte nicht ausgewählt werden'); $sql = "SELECT name, Mailadresse, Homepage FROM ".MYSQL_TABELLE." WHERE name = '".$_GET['benutzer']."';"; if(!empty($_POST['benutzer'])){ $ergebnis = mysql_query($sql) OR die("Datensatz konnte nicht gelesen werden."); if(mysql_num_rows($ergebnis)){ echo "\n" while($row = mysql_fetch_assoc($ergebnis)){ echo " \n"; echo " \n"; echo " "; echo " \n "; echo " \n"; echo " "; echo " \n "; echo " \n"; echo " "; echo " \n "; } } else { echo "Benutzer nicht vorhanden\n"; } } else { echo "Kein Benutzername angegeben, bitte verwenden sie einen gültigen Link.\n"; } ?> [/php]

Die Tabelle sollte so aussehen:

+---------+-------------+---------------+ | vorname | mailadresse | homepage | +---------+-------------+---------------+ | hier | kommen | dann | | später | die ganzen | verschiedenen | | eingaben| hinein | . | +---------+-------------+---------------+

Ahja: ich mache so ein komplettes script jetzt zum ersten mal, also bitte darauf Rücksicht nehmen und nicht sirekt zusammenschreien :wink:

In register.php gehört noch ein Regex rein, der die Eingaben nach Sonderzeichen prüft, allerdings habe ich keine Ahnung von Regex, und weiß auch nicht was Q-Meax zulassen will…

btw: Jetzt wäre ein Spoilern ganz praktisch :roll:

Name:".$row['vorname']."
eMail-Adresse:".$row['mailadresse']."
Homepage:".$row['homepage']."

erstmal muss ich sagen, dass de dir wirklich seehr viel Mühe gegeben hast! ;Jump
Der einzige Fehler, der mir beim ersten rüberlesen aufgefallen ist, ist dieses:
[php]WHERE
name = ‚„.$_POST[‚benutzer‘].“‘;„;[/php]
ändern in das:
[php]WHERE
name = '“.$_GET[‚benutzer‘].„';“;[/php]

[FONT=Verdana][SIZE=2]Gruß, Fredmonster![/SIZE][/FONT]