Einem Nutzer ein Profil anlegen mit dynamischen link

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

htmler222

Neues Mitglied
25 Dezember 2016
9
0
1
#1
HI an alle,
folgendes Problem;
Ich habe auf meiner Seite die ich grad entwickle einen Chatroom. Und ebenso eine Login und Anmeldenseite. Was ich will ist: Der Nutzer gibt die daten ein die nötig sind (Nutzername e mail etc.) und sendet das formular ab. Dann soll ein Link erstellt werden mit einer Id. Diese soll dann wiederrum sobald das profil freigeschaltet ist (dies mache ich manuell da ich dem nutzer auch eine datenbank für einträge anlegen will). Überall auffindbar sein. Ein Beispiel zum Verständnis: Nutzer 1 Gibt die daten ein und die id wird genneriert. diese soll dann damit ich sie als name einer mysql datenbank vergeben kann in einer mail an mich geschickt werden. Nachdem das profil dann frei (also die datenbank angelegt ist) dieser nutzer per id auffindbar sein. Beispiel: Nutzer 2 gibt den namen von nutzer 1 in ein suchfeld ein und bekommt seinen nutzernamen nochmals auf einer anderen seite (ergebnisse_suche.php) raus. Wenn nutzer 2 jetzt über den namen von nutzer 1 mit der maus geht und klickt soll die weiterleitung auf die die site erfolgen wo dann die von mir angelegte datenbank mit seinen einträgen erscheint. Der link sollte dann zb so aussehen : https://beispiel.de/profile.php?id=12345 . Die fragen die jetzt mir im kopf schwirren sind :
1. Wie kann ich nach absenden des formulars eine Id erzeugen?
2. Wie kann ich die an meine mail adresse senden? (vllt mit mailto)?
3. Wie kann ich es dann hin bekommen das wenn nach nutzer eins gesucht wird ein link wie https://beispiel.de/profile.php?id=12345 und klickbar wird. Ich hoffe ihr könnt mir helfen. Und ich hoffe man kann das möglichst simpel lösen. wenn die lösung etwas schwieriger ist aber gut erklärt dann habe auch dagegen nix einzuwenden.
Danke an alle und
Grüße htmler222
 

basti1012

Aktives Mitglied
26 November 2017
742
70
28
37
Minden
chat.sebastian1012.bplaced.net
#2
Darf ich erstmal fragen wie weit du dich überhaupt mit der Materie auskennen tust ?
Weil Nr.3 verstehe ich nich weil einen Link klickbar machen sollte man schon wissen wenn man einen Chat programmieren möchte. Oder ich verstehe dich vollkommen falsch.

Nagut,
NR1. Irgendeine id könntest du mit rand http://php.net/manual/de/function.rand.php erzeugen. Man könte aber auch in der Datenbank kucken.. Hast du zb 10 Leute die in deinen Chat angemeldet sind ,gibst du den nächsten die id11.So machen das viele Foren und so weiter.
Nr2 macht man mit bestimmten mailer https://www.php-rocks.de/thema/51-html-mail-versenden-mit-phpmailer.html die es dafür gibt . mailto ist Mist.
Nr3. Da verstehe ich dich wohl Falsch weil dein zb Link
Code:
<a href="https://beispiel.de/profile.php?id=12345">Dein Suchlink</a>
würde dann so aussehen
 
Zuletzt bearbeitet:

m.scatello

Aktives Mitglied
15 Februar 2017
816
84
28
#3
Hast du zb 10 Leute die in deinen Chat angemeldet sind ,gibst du den nächsten die id11.So machen das viele Foren und so weiter.
Nein, so macht das kein Forum! Das lässt man schön die Datenbank machen und kümmert sich nicht selbst um eine ID. Und wenn solche Links u.U. öffentlich sichtbar sind, wäre ich damit auch schon vorsichtig.

@htmler222
Was du brauchst, sind grundlegende Kenntnisse in PHP und mit Datenbanken. Dazu gibt es reichlich Tutorials im Netz, von denen du einige erst einmal durcharbeiten solltest. Fängt man so ein Projekt ohne Grundlagenkenntnisse an, ist die Wahrscheinlichkeit sehr groß, dass entweder grauenhaft programmiert wird oder hinterher gravierende Sicherheitslücken entstehen.
 

basti1012

Aktives Mitglied
26 November 2017
742
70
28
37
Minden
chat.sebastian1012.bplaced.net
#4
Nein, so macht das kein Forum! Das lässt man schön die Datenbank machen und kümmert sich nicht selbst um eine ID. Und wenn solche Links u.U. öffentlich sichtbar sind, wäre ich damit auch schon vorsichtig.
Ja gut das wahr wohl falsch erklärt . Ich meine aufjedenfall damit das die aufsteigent sind und nicht irgendwelche random Zahlen dafür genommen werden
 

m.scatello

Aktives Mitglied
15 Februar 2017
816
84
28
#7
Basti, du willst ja helfen, aber bitte lass' es bei PHP sein, bis deine PHP-Kenntnisse halbwegs vernünftig sind. Es ist ja nicht das erste Mail, dass ich darauf Hinweise, dass du Halbwissen verteilst. Bleib' bei HTML und CSS, da kannst du nicht soviel Schaden anrichten.
 

Aaron3219

Aktives Mitglied
6 Oktober 2015
944
186
43
17
#8
Was du brauchst, sind grundlegende Kenntnisse in PHP und mit Datenbanken. Dazu gibt es reichlich Tutorials im Netz, von denen du einige erst einmal durcharbeiten solltest. Fängt man so ein Projekt ohne Grundlagenkenntnisse an, ist die Wahrscheinlichkeit sehr groß, dass entweder grauenhaft programmiert wird oder hinterher gravierende Sicherheitslücken entstehen.
Stimm ich dir voll und ganz zu. Ich möchte trotzdem nochmal das Stichwort "Framework" mit einbringen.
Wenn du, @htmler222, nämlich deine Kenntnisse (vor allem in PHP) erweitert hast, solltest du dich unbedingt mit Frameworks beschäftigen.
Laravel würde sich hierfür z.B. super anbieten. Behalte das einfach mal im Hinterkopf.
 
Zustimmungen: htmler222

htmler222

Neues Mitglied
25 Dezember 2016
9
0
1
#9
Darf ich erstmal fragen wie weit du dich überhaupt mit der Materie auskennen tust ?
Weil Nr.3 verstehe ich nich weil einen Link klickbar machen sollte man schon wissen wenn man einen Chat programmieren möchte. Oder ich verstehe dich vollkommen falsch.

Nagut,
NR1. Irgendeine id könntest du mit rand http://php.net/manual/de/function.rand.php erzeugen. Man könte aber auch in der Datenbank kucken.. Hast du zb 10 Leute die in deinen Chat angemeldet sind ,gibst du den nächsten die id11.So machen das viele Foren und so weiter.
Nr2 macht man mit bestimmten mailer https://www.php-rocks.de/thema/51-html-mail-versenden-mit-phpmailer.html die es dafür gibt . mailto ist Mist.
Nr3. Da verstehe ich dich wohl Falsch weil dein zb Link
Code:
<a href="https://beispiel.de/profile.php?id=12345">Dein Suchlink</a>
würde dann so aussehen
Danke für die tipps. Bei nr 3 mag ich das so haben das der link so aussieht wie in deinem codebeispiel. aber funktioniert das dann für jede id? Ich kenne mich ziemlich gut mit html aus, allerdings mit php erst so bissle. Und wie erzeuge ich mit rand ne id? ich werde da iwie net schlau draus. was das mit php mailer angeht. ich verstehe zwar den code der seite allerdings ist das wenn ich die richtig verstehe für eine öffentliche seite wie kann ich denn erzeugte inhalte (die id) lokal versenden? danke dir und allen
 

htmler222

Neues Mitglied
25 Dezember 2016
9
0
1
#10
also um euch mal aufzuklären::wink: ich hab grundkenntnisse in php sprich ich weiss wie man zb fromulare in eine datenbank einfügt wenn ihr wollt kann ich euch mal den code zeigen von dem chat. Aber was das anhängen von parametern an links an ´geht bin ich machtlos da ich es nicht verstehe :confused: deswegen braüchte ich zu alllem eine möglichst simple lösung. weil iwer in diesem forum hatte doch schon al wegen rand() und einer id erzeugen nachgefragt oder bin ich da falsch informiert? und sry leute was meine rechtschreibung angeht aber iwie läuft meine shift taste nicht:wink::wink::smile:
 
Zuletzt bearbeitet:

basti1012

Aktives Mitglied
26 November 2017
742
70
28
37
Minden
chat.sebastian1012.bplaced.net
#13
vergiss das mit den rand() wieder. Rand erzeugt dir eine Zufallszahl. Mach das mit der id über der Datenbank wie oben @m.scatello sagte. Mit Random mußt du jedesmal abschecken ob die Id schon in der Datenbank exestiert weil bei Random kann auch 2 mal die gleiche Zahl kommen. Mit der Datenbank bleibt dir das erspart weil die das mit der Id regelt und somit auch nicht doppelt vorkommen tut
 

htmler222

Neues Mitglied
25 Dezember 2016
9
0
1
#14
vergiss das mit den rand() wieder. Rand erzeugt dir eine Zufallszahl. Mach das mit der id über der Datenbank wie oben @m.scatello sagte. Mit Random mußt du jedesmal abschecken ob die Id schon in der Datenbank exestiert weil bei Random kann auch 2 mal die gleiche Zahl kommen. Mit der Datenbank bleibt dir das erspart weil die das mit der Id regelt und somit auch nicht doppelt vorkommen tut
Ich hab es bis jetzt immer mit rand gesehen. aber warum hat es dann bei dem anderen verlinkten beitrag funktioniert? und nur zu dienr info die id wird an sich gar nicht in ne datenbank übergeben sondern dient nur dazu der profildatabase des nutzers einen namen zu verpasssen von daher kann ich daran ja auch noch manuell drehen:wink: und kannst du mir vllt auch die fragen beantworten die ich noch hatte? Danke dir und allen
htmler222
 

basti1012

Aktives Mitglied
26 November 2017
742
70
28
37
Minden
chat.sebastian1012.bplaced.net
#15
Ich hab es bis jetzt immer mit rand gesehen. aber warum hat es dann bei dem anderen verlinkten beitrag funktioniert? und nur zu dienr info die id wird an sich gar nicht in ne datenbank übergeben sondern dient nur dazu der profildatabase des nutzers einen namen zu verpasssen von daher kann ich daran ja auch noch manuell drehen:wink: und kannst du mir vllt auch die fragen beantworten die ich noch hatte? Danke dir und allen
htmler222
Na denn. Dann laß dir das von den anderen erklären wie man das machen kann . Ich mache alles Falsch und bin hier erstmal raus
 

m.scatello

Aktives Mitglied
15 Februar 2017
816
84
28
#16
Nutzer 1 Gibt die daten ein und die id wird genneriert. diese soll dann damit ich sie als name einer mysql datenbank vergeben kann in einer mail an mich geschickt werden. Nachdem das profil dann frei (also die datenbank angelegt ist) dieser nutzer per id auffindbar sein.
Und wenn du 100 Nutzer hast, willst du 100 Datenbanken haben? Sorry, aber dein Konzept ist schon völlig falsch, da solltest du dringend nochmal drüber nachdenken.
 

Tonald Drump

Neues Mitglied
13 Januar 2017
28
1
1
72
#18
HI an alle,
folgendes Problem;
Ich habe auf meiner Seite die ich grad entwickle einen Chatroom. Und ebenso eine Login und Anmeldenseite. Was ich will ist: Der Nutzer gibt die daten ein die nötig sind (Nutzername e mail etc.) und sendet das formular ab. Dann soll ein Link erstellt werden mit einer Id. Diese soll dann wiederrum sobald das profil freigeschaltet ist (dies mache ich manuell da ich dem nutzer auch eine datenbank für einträge anlegen will). Überall auffindbar sein. Ein Beispiel zum Verständnis: Nutzer 1 Gibt die daten ein und die id wird genneriert. diese soll dann damit ich sie als name einer mysql datenbank vergeben kann in einer mail an mich geschickt werden. Nachdem das profil dann frei (also die datenbank angelegt ist) dieser nutzer per id auffindbar sein. Beispiel: Nutzer 2 gibt den namen von nutzer 1 in ein suchfeld ein und bekommt seinen nutzernamen nochmals auf einer anderen seite (ergebnisse_suche.php) raus. Wenn nutzer 2 jetzt über den namen von nutzer 1 mit der maus geht und klickt soll die weiterleitung auf die die site erfolgen wo dann die von mir angelegte datenbank mit seinen einträgen erscheint. Der link sollte dann zb so aussehen : https://beispiel.de/profile.php?id=12345 . Die fragen die jetzt mir im kopf schwirren sind :
1. Wie kann ich nach absenden des formulars eine Id erzeugen?
2. Wie kann ich die an meine mail adresse senden? (vllt mit mailto)?
3. Wie kann ich es dann hin bekommen das wenn nach nutzer eins gesucht wird ein link wie https://beispiel.de/profile.php?id=12345 und klickbar wird. Ich hoffe ihr könnt mir helfen. Und ich hoffe man kann das möglichst simpel lösen. wenn die lösung etwas schwieriger ist aber gut erklärt dann habe auch dagegen nix einzuwenden.
Danke an alle und
Grüße htmler222
Meine Güte, das ist ja ein riesen Chaos hier. Habe mir jetzt nicht alles durchgelesen, weil hier wohl auch einige Gefühle verletzt wurden. Aber ich gebe auch noch fix meinen Senf dazu ab. :D:p

1. Dein Text war nicht ganz deutlich zu verstehen. Aber zusammengefasst, brauchst du (wenn ich es richtig verstanden habe) eine User-Datenbank. Jeder User hat eine ID, einen Namen und weitere Informationen. Für die ID, gibt es zwei sinnvolle Möglichkeiten. Die eine ist, dass du das ganze die Datenbank machen lässt. Du gibst der Datenbank den Namen und deine Datenbank gibt dir eine ID zurück. Diese IDs sind dann fortlaufend und unique. Die andere Möglichkeit ist, dass du sie selbst erzeugst, was wesentlich aufwendiger ist und mit mehr Sorgfalt und Verwaltung zu tun hat. Das würde bedeuten, dass du eigene unique IDs erzeugst und diese dann mit abspeicherst. Hätte den Vorteil, dass die IDs nicht fortlaufend sind, wenn du das nicht wünscht. Gibt Vor- und Nachteile für beide Seiten. Im Zuge einer User-Datenbank ist aber auf jedenfall eine selbst erzeugende ID der Datenbank sinnvoller.

Kleiner EDIT: Gerade das rand()-Ding gelesen. Um Himmelswillen lass die Finger davon weg. Du musst ja Werte eingeben.. sagen wir random von 00000 bis 99999. Sind 100.000 Zahlen. Da kannst du dir jetzt schon ausrechnen wie groß die Wahrscheinlichkeit ist, dass eine ID doppelt vergeben wird und dir das gesamte System um die Ohren fliegt. :D Wenn ich davon rede eigene IDs zu erstellen, meine ich konstruierte eindeutige IDs. GUIDs. Sowas erzeugst du zum Beispiel ganz leicht in dem du die Millisekunden seit z.B. 1990 mit hineinnimmst. Da die eben per Definition fortlaufend sind, können so keine IDs doppelt vergeben werden. Konkretes Beispiel: Ich habe in einem meiner Skripte eindeutige IDs für PDFs die ich generiere. Die möchte ich nicht fortlaufend haben, da ich nicht möchte, dass man fremde Dateien aufrufen kann. Daher haben diese PDFs Dateinamen, die sich zusammensetzen aus "KundenID_AngebotsID_MillisekundenSeit2010_eine12stelligeZufallszahl_SpecialIDdesMitarbeiters.pdf". Das ist eine eine einzigartige ID, die nicht zufällig ist. Es existiert zwar ein Zufallswert darin, aber durch die Millisekunden ist der unique-Status definiert.

2. Um E-Mails zu versenden gibt es hervorragende libs im Netz. Swift (oder Swiftmail?) oder phpMailer sind da wunderbare Beispiele. Habe jetzt aber nicht nachgeguckt, wie aktuell die sind und ob sich da Sicherheitstechnisch was getan hat. Für PHPmailer wurde vor paar Monaten mal eine Warnung rausgegeben, müsste ich jetzt aber recherchieren.

3. Die Suche ist an sich nicht so kompliziert. Du hast eine User-Datenbank und vergleichst jede Spalte jeder Zeile mit dem Suchbegriff. Beinhaltet eine Spalte einer Zeile deinen Suchbegriff ist das ein Treffer. Und alle Treffer werden abgespeichert und aufgelistet. Suchst du zum Beispiel nach "2", würde er dir die Zeile geben, in der die ID zwei ist, die Zeile in der der Name "KillerAssassin2" ist und die Zeile in der das Geburtsdatum der 01.01.1992 ist. Jede dieser Zeilen ist dann in einem von dir gesicherten Array oder dergleichen abgespeichert. Und wenn du nun durch das Array durch "foreach"-schleifst, hast du für jede Zeile eine ID, die du dann konkret in den Link reinpacken kannst. An sich ist das keine komplizierte Sache.

Vom Aufwand her würde ich allen drei Punkten zusammen eine Zeitbedarf von vielleicht 1-3 Stunden geben. Es ist eigentlich nur bisschen was zu schreiben und nicht sehr kompliziert. Aber gerade die dritte Frage zeigt eigentlich, dass da vielleicht noch ein bisschen was an Materie fehlt.

Ich wünsche dir was.

Lieben Gruß
 
Zuletzt bearbeitet:
Zustimmungen: Sempervivum

htmler222

Neues Mitglied
25 Dezember 2016
9
0
1
#19
Danke für die antwort. jetzt is mirs auch klar das ne forlaufende id mit auto increcment oder wies es genau geschrieben wird sinnvoller ist. Dann erhöht die db die id automatisch um 1. Die Datenbank für die profils möchte ich zwar trotzdem noch manuell machen aber dann kann ich auch einfach in dei anmelden database schauen und jeden einzelnen abarbeiten und ihm dannn ne mail über seine vorher einegebne mailadresse senden wo dann sein profillink is: damit ist dann fast alles geklärt was die suche angeht könnte ich die database nach dem nutzername datensatz absuchen lassen mit like. Und dann wies mir jemand anderes gezeigt hat den profillink zusammenbauen. sollte ich eigentlich innnerhalb von 2 stunden schaffen. :smile:
Gruss htmler222