 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
11.01.2003, 17:41
|
#1
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
... ein paar grundlegende Fragen
Hallo, ich habe ein paar Fragen.
a) Wie kann ein Anwender in einem Formularfeld seinen Text selbst formatieren? Es geht nicht nur um Schriftgrößte, Farbe, usw., störend ist schon das der Zeilenumbruch nicht unterstützt wird.
b)Gibt es einen php Befehl der bestimmt, welche Seite aufgerufen werden soll? Ich habe mir das so vorgestellt: wenn sich User A anmeldet, dann springe auf die Seite a.php, wenn sich User B anmeldet, dann springe auf die Seite b.php, usw.
Ist dem User die URL bekannt, dann soll er die Seite nicht direkt über die Adresszeile aufrufen können (sondern immer nur über das Loginfenster). Dabei wären wir schon bei der nächsten Frage:
c)Reicht der isset Befehl aus, damit der User die Seite nicht direkt über die Adresszeile aufrufen kann? Oder gibt es eine Sicherheitslücke?
d)Mich würde zudem interessieren, wie man eine Benutzerabfrage (Login) mit mysql üblicherweise aufbaut. Ich möchte es so realisieren: ich erstelle in mysql eine Tabelle mit Benutzername, Passwort und Emailadresse. Wenn der User seine Anmeldedaten eingibt und das Formular abschickt, dann soll zunächst der Benutzername (BN) mit der Datenbank verglichen werden. BN nicht vorhanden --> Fehlermeldung: "Benutzername existiert nicht". BN vorhanden --> überprüfen ob Passwort zum Benutzernamen passt ... Wie das Script letztendlich aussehen muss ist mir schon klar, ich möchte nur wissen ob diese Art der Abfrage die Beste ist (einfachste, sicherste, usw)
Danke und Gruss
Dieter
|
|
|
11.01.2003, 17:50
|
#2
|
|
TP-Member
Registriert seit: Jan 2003
Ort: Piesbach
|
schnell was zu a)
der zeilenumbruch wird durch die funktion nl2br($str) eingesetzt!
zu d) ja, das ist eine Möglichkeit, die auch find ich für den User sehr gut ist, da er dann direkt weiß, wo er sich vertippt hat!
bei b) und c) kann ich dir nicht wirklich folgen...
__________________
~
|
|
|
11.01.2003, 18:00
|
#3
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
zu b) nochmal:
meldet sich der User A an, dann springe auf die Seite test1.php. Wenn sich User B anmeldet, dann springe auf diese test2.php, meldet sich User C an, dan springe auf die Seite test3.php., usw. Gibt es sowas wie einen "goto"-Befehl???
zu c) der User X soll z.B. die Berechtigung haben auf die Seite http://www.juhuu.de/userx.php zugreifen zu können. Zunächst geht er auf die Seite www.juhuu.de und meldet sich dort an. Ist der Login in Ordnung, dann springt das System auf http://www.juhuu.de/userx.php. Gibt er jedoch in der Adresszeile direkt den url http://www.juhuu.de/userx.php ein (ohne sich davor anzumelden), dann soll die Meldung kommen "keine Berechtigung, bitte erst anmelden"
@fraggle: kannst du mir die Funktion "funktion nl2br($str)" genauer erklären? Muss ich die Fuktion direkt im Formularfeld einbauen, wenn ja wie?
Den Text, den der User eingibt, wird auf mysql gespeichert. Bleibt auch dort der Zeilenumbruch vorhanden??
|
|
|
11.01.2003, 19:04
|
#4
|
|
TP-Member
Registriert seit: Jan 2003
Ort: Piesbach
|
ach so... dann lassen sich fall b) und c) mit cookies realisieren! für c) abfragen, ob das cookie existiert, wenn nicht, auf die andere seite weiterleiten oder den fehlertext ausgeben! bei b) in dem cookie des jeweiligen users speichern, welche seite er zusehen bekommen soll!
die funktion nl2br() fügt dort, wo der user im textfeld einen Zeilenumbruch gemacht hat ein <br> ein! den text kannst vor dem speichern in die db bearbeiten lassen oder nachher, das speilt keine rolle! 
__________________
~
|
|
|
13.01.2003, 12:03
|
#5
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
mir ist immer noch nicht ganz geholfen.
nochmal zu punkt b:
ein formular beginnt üblicherweise mit dem befehl:
<form action="test1.php" method="post">
in diesem fall wird nach abschicken des formulars immer die seite test1.php geladen. es soll aber nicht immer automatisch die seite test1.php geladen werden, sondern je nachdem welcher benutzer sich im formular anmeldet. wenn sich nämlich statt benutzer A (test1.php) benutzer B anmeldet, dann soll nicht test1.php, sondern test2.php geladen werden.
wie kann ich sowas realisieren?
ich hoffe das es diesmal verständlich ist
gruss
dieter
|
|
|
13.01.2003, 13:41
|
#6
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Du kannst das Formular auch "sich selbst" aufrufen lassen und die Daten entsprechend verarbeiten.
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Wenn Du das Abschicken Button z.B. "go" nennst, kannst Du das dann mit
if(isset($_POST['go']))
{ ...
abfangen.
Es gibt auch Deinen sogenannten "goto" Befehl, in PHP heisst das header();
Sieht z.B. so aus:
header("Location: http://www.meineseite.de/kundea.php");
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
13.01.2003, 13:57
|
#7
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Mit anderen Worten: Du schickst dasn formular an eine Zwischenseite, die je nach User weiterleitet:
PHP-Code:
switch($user){
case "karl": header("Location: /karl.php"); break;
case "heinz": header("Location: /heinz.php"); break;
case "atze": header("Location: /atze.php"); break;
// etc.
default: header("Location: /login.php");
}
Die Variable $user ermittelst Du dabei exemplarisch per DB-Abfrage (alternativ liesse sich die Weiterleitungs-Adresse auch direkt aus der DB holen und das switch() sparen, es zig Möglichkeiten  ). Auf den einzelnen Seiten selber könntest Du beispielsweise per Session-Variable prüfen, ob der User auch tatsächlich zur Seite passt und ihn ggf. zurück zum Login schicken.
__________________
Give up yourself into the moment — The time is now.
|
|
|
13.01.2003, 15:03
|
#8
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
header("Location: /heinz.php"); break;
Das ist NICHT konform, es muss eine komplette URL angegeben werden, sprich mit http://www.bla.de/ usw. ... 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
13.01.2003, 20:47
|
#9
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Ja ja ... 
__________________
Give up yourself into the moment — The time is now.
|
|
|
14.01.2003, 12:31
|
#10
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
@Lars: Diese Art der Lösung habe ich gesucht, THANX
Auch den Tip von Adagio finde ich wichtig. Für jeden ist nämlich nicht alles selbstverständlich....
Gruss
Dieter
|
|
|
14.01.2003, 12:36
|
#11
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Hier noch eine genaue Übersicht über die Möglichkeiten, die header() bietet: http://www.php.net/manual/de/function.header.php
Wohlgemerkt muss diese Funktion vor allen anderen Headern geschickt werden, innerhalb einer Seite, die beispielsweise schon ein <html> enthält, gibt es eine Fehlermeldung (das ist ein klassischer Fehler  ). Am besten lagerst Du das ganze auf eine Zwischenseite ohne anderweitige Ausgaben aus.
__________________
Give up yourself into the moment — The time is now.
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 00:06 Uhr.
|
 |