• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Profil + Memberliste coden.

Status
Für weitere Antworten geschlossen.
Z

Zameito

Guest
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 ;-) 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:

1zp7.jpg


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

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.
 
Werbung:
Hast du dich nicht mit dem Forum vertan? Gehört doch eher in die Jobbörse :roll:;)


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 :D
 
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. :-(

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.
 
Werbung:
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 :)
 
Danke für die Links. Die Seite gefiel mir so gut das ich jetzt ne komplette in php coden möchte oder es versuche ;-) Ach, mit euer Hilfe schaff ich das schon *greez*
 
Werbung:
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.
 
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.
 
Werbung:
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']."'");}
?>
<form method="post" action="register.php">
Name: <input type="text" name="name" /><br />
Email: <input type="text" name="mail" /><br />
Homepage: <input type="text" name="page" />
</form>
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 "<br />";
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 "<br />";
In der profil.php muss deine Url ungefähr so aussehen:
www.deinedomain.de/profil.php?name=Testuser
Gruß, Fredmonster
 
Werbung:
Muss ich da noch irgendwo ne Datenbank oder so anlegen?

Edit: ahh hat sich erledigt, habs gefunden ;-)
 
Zuletzt bearbeitet von einem Moderator:
@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 "<br />"; 
} 
} 
else 
{
echo "Der User konnte nicht gefunden werden.";
}
So kann man noch ne Fehlermeldung ausgeben, wenn der User nicht gefunden wurde ;)

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.
 
Werbung:
Der Form-Tag hat ja nichtmal nen Submit-Button...

Ahja: An den Anfang von jeder PHP-Datei sollte man [phpnet]error_reporting[/phpnet](E_ALL); 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:
<input type="submit" name="submit" />
@Commondore... natürlich gehts besser.. sollte ja nur nen Testscript werden.. es könnte sich auch ein User namesn <br><br><br> 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:
 
Werbung:
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.


register.php
PHP:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>
<head>
<title>Benutzer Registrieren</title>
</head>
<body>
<?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&auml;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&uuml;ltigen Namen, eine eMailadresse und eine homepage an.\n");
}
} else {
echo "<form action=\"register.php\" method=\"post\">\n";
echo "Vorname: <input type=\"text\" name=\"vorname\" /><br />\n";
echo "eMail: <input type=\"text\" name=\"mailadresse\" /><br />\n";
echo "Homepage: <input type=\"text\" name=\"homepage\" /><br />\n";
echo "<input type=\"submit\" /><br />\n";
echo "</form>\n";
}
?>
</body>
</html>
user.php
PHP:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>
<head>
<title>Benutzer anzeigen</title>
</head>
<body>
<?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&auml;hlt werden');
$zeige = "SELECT
              name,
              mailadresse,
              homepage
          FROM
              ".MYSQL_TABELLE."
          ORDER BY
              name ASC;";
$ergebnis = mysql_query($zeige) OR die('User konnten nicht ausgew&auml;hlt werden.');
if(mysql_num_rows($ergebnis)){
echo "<table>\n";
while($row = mysql_fetch_assoc($ergebnis)){
echo " <tr>\n";
echo "  <td><a href=\"benutzer.php?benutzer=".$row['vorname']."\">".$row['vorname']."</a></td>\n";
echo "  <td>".$row['mailadresse']."</td>\n";
echo "  <td>".$row['homepage']."</td>\n";
echo " </tr>\n";
}
echo "</table>\n";
} else {
echo "Keine User verf&uuml;gbar";
}


?>
</body>
</html>
benutzer.php
PHP:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>
<head>
<title>Benutzer anzeigen</title>
</head>
<body>
<?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&auml;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 "<table>\n"
while($row = mysql_fetch_assoc($ergebnis)){
echo " <tr>\n";
echo "  <td>Name:</td>\n";
echo "  <td>".$row['vorname']."</td>";
echo " </tr>\n <tr>";
echo "  <td>eMail-Adresse:</td>\n";
echo "  <td>".$row['mailadresse']."</td>";
echo " </tr>\n <tr>";
echo "  <td>Homepage:</td>\n";
echo "  <td>".$row['homepage']."</td>";
echo " </tr>\n <tr>";
}
} else {
echo "Benutzer nicht vorhanden\n";
}
} else {
echo "Kein Benutzername angegeben, bitte verwenden sie einen g&uuml;ltigen Link.\n";
}
?>
</body>
</html>

Die Tabelle sollte so aussehen:

Code:
+---------+-------------+---------------+
| 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 ;)


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:
 
Zuletzt bearbeitet von einem Moderator:
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']."';";
ändern in das:
PHP:
WHERE
            name = '".$_GET['benutzer']."';";

Gruß, Fredmonster!
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben