Antworten auf deine Fragen:
Neues Thema erstellen

PHP - Forum - Formular - Fragen

Skizer

I'm a Freak

Hi Leute,
hab nen paar fragen, hoffe ihr könnte mir helfen (aber so wie ich euch kenne schafft ihr das ganz schnell :) ) hab so nen kleines forum gemacht und will das dafür haben.

1. Ich will das in mein formularfeld (is ne textarea) nur bestimmter html code eingegeben werden kann zb. dicke, kursive, unterstrichene schrift und farbe.
wie stell ich das am besten an, bin noch nich so wirklick fit in php, wäre cool wenn ihr mir das auch nen bisschen erklärt wenns nich zuviel arbeit is sonst versuch ich das mit selber zu erklären.

2. wie ersetze ich zb. :) durch den passenden smyle :) , wenn das eingegebene aus der datenbank ausgelesen wird?

3. wie könnte ich machen das zb. der absenden button des formulars nur alle 30 sekunden angeklickt werden kann, also von einem benutzer

MFG Skizer
 

LowkaZ

Half Life

AW: PHP - Forum - Formular - Fragen

1. Nimm TinyMCE oder sowas

2. php str_replace()

3. php time() Zeitstempel als hidden field kann man dann per javascript überprüfen.

hört sich an als würdest du ne shoutbox programmieren wollen...
 
P

Pixel79

Guest

AW: PHP - Forum - Formular - Fragen

1. Du kannst den eingegebenen Text durchsuchen und dann vordefinierte platzhalter ersetzen, aus "" wird "<b>" und aus "[\B]" wird "<\b>" usw.
Somit kannst du die Befehle die verwendet werden können festlegen.
PHP:
<?
$text = strip_tags($text); //Entfernt alle HTML Tags.
$text = str_replace("\[B\]","\<b\>",$text);
$text = str_replace("\[\\B\]","\<\\b\>",$text);
?>
2. Funktioniert genau nach dem gleichen Prinzip:
PHP:
<?
$text = str_replace(":-)","<img src=\"smilies/lachen.gif\">",$text);
$text = str_replace(";-)","<img src=\"smilies/zwinkern.gif\">",$text);
?>
Zu 3. könntest du in der Datenbank die Zeitstempel speichern wann der letzte Post des Benutzers oder IP Adresse gemacht wurde und somit einen erneuten Post innerhalb der von dir eingestellten zeit Verhindern.

Hoffe daß ich jetzt keinen blödsinn geschrieben habe, ist lange her das ich php gecodet hab :)
 
Zuletzt bearbeitet von einem Moderator:

Chriss1987

me.drinkCoffee();

AW: PHP - Forum - Formular - Fragen

1. Du kannst den eingegebenen Text durchsuchen und dann vordefinierte platzhalter ersetzen, aus "" wird "<b>" und aus "[\B]" wird "<\b>" usw.
Somit kannst du die Befehle die verwendet werden können festlegen.
PHP:
<?
$text = strip_tags($text); //Entfernt alle HTML Tags.
$text = str_replace("\[B\]","\<b\>",$text);
$text = str_replace("\[\\B\]","\<\\b\>",$text);
?>
2. Funktioniert genau nach dem gleichen Prinzip:
PHP:
<?
$text = str_replace(":-)","<img src=\"smilies/lachen.gif\">",$text);
$text = str_replace(";-)","<img src=\"smilies/zwinkern.gif\">",$text);
?>
Zu 3. könntest du in der Datenbank die Zeitstempel speichern wann der letzte Post des Benutzers oder IP Adresse gemacht wurde und somit einen erneuten Post innerhalb der von dir eingestellten zeit Verhindern.

Hoffe daß ich jetzt keinen blödsinn geschrieben habe, ist lange her das ich php gecodet hab :)


Hi,
ja, das mit str_replace wäre auch mein Vorschlag gewesen.
Allerdings könnte man einfach 2 Arrays erstellen, in dem einen die zu ersetzenden Zeichen in dem anderen die entsprechenden Ersetzungen, dann bräuchte man nur einmal str_replace anwenden! ;)

Schöne Grüße aus dem Sauerland!
Chriss

EDIT: Noch eine Anmerkung: bitte, wenn möglich keine Short-TAgs "<?" verwenden, sondern die vollständigen Tags "<?php" verwenden! Könnte sonst auf einigen Servern zu Problemem führen!
 

Skizer

I'm a Freak

AW: PHP - Forum - Formular - Fragen

@ könntest du mir nen biespiel machen wie du das mit den arrasy meinst? und wie ich das dann in str_replace eintragen muss?

ansonsten
wunderbar leute, ihr seid die besten
top echt

riesen dank!


MFG Skizer
 
Zuletzt bearbeitet:

sangui

Noch nicht viel geschrieben

AW: PHP - Forum - Formular - Fragen

Das könnte dann so aussehen.
PHP:
<?php

$pattern = array("\[B\]", 
    "\[\/B\]", 
    ":-)", "
    ;-)"
    ); //Das Array mit den zu suchenden Zeichenketten
$replace = array("\<b\>", 
    "\<\/b\>", 
    "<img src=\"pfad/zum/lachenden/smilie.gif\">", 
    "<img src=\"pfad/zum/zwinkernden/smilie.gif\">"
    ); //Array mit den Erstzmustern

$text = str_replace($pattern, $replace, $text);

?>
Bin mir gerade unsicher ob der Slash ebenso escaped werden muss wie der Backslash aber sicher ist sicher, wenn nicht einfach den Backslash vor dem Slash entfernen.

Bei den Arrays musst du nur auf die gleiche Reihenfolge achten, da str_replace meines Wissens bei Assoativen Arrays den Index ignoriert, aber bin mir nicht sicher.
 

Chriss1987

me.drinkCoffee();

AW: PHP - Forum - Formular - Fragen

Das könnte dann so aussehen.
PHP:
<?php

$pattern = array("\[B\]", 
    "\[\/B\]", 
    ":-)", "
    ;-)"
    ); //Das Array mit den zu suchenden Zeichenketten
$replace = array("\<b\>", 
    "\<\/b\>", 
    "<img src=\"pfad/zum/lachenden/smilie.gif\">", 
    "<img src=\"pfad/zum/zwinkernden/smilie.gif\">"
    ); //Array mit den Erstzmustern

$text = str_replace($pattern, $replace, $text);

?>
Bin mir gerade unsicher ob der Slash ebenso escaped werden muss wie der Backslash aber sicher ist sicher, wenn nicht einfach den Backslash vor dem Slash entfernen.

Bei den Arrays musst du nur auf die gleiche Reihenfolge achten, da str_replace meines Wissens bei Assoativen Arrays den Index ignoriert, aber bin mir nicht sicher.

Hi,

ja genau so meinte ich das! ;) Allerdings müssen normale Slashes und auch die eckigen Klammern nicht escaped werden! ;)
Richtig wäre es dann so:
PHP:
<?php

$pattern = array("[B]", 
    "[/B]", 
    ":-)", "
    ;-)"
    ); //Das Array mit den zu suchenden Zeichenketten
$replace = array("<b>", 
    "\</b>", 
    "<img src=\"pfad/zum/lachenden/smilie.gif\">", 
    "<img src=\"pfad/zum/zwinkernden/smilie.gif\">"
    ); //Array mit den Erstzmustern

$text = str_replace($pattern, $replace, $text);

?>
Bei assoativen Arrays bin ich mir grad auch nicht sicher, aber ich meine, dass du Recht hast!

Schöne Grüße aus dem Sauerland!
Chriss
 
Zuletzt bearbeitet:

Skizer

I'm a Freak

AW: PHP - Forum - Formular - Fragen

wunderbar, vielen riesen dank, echt die besten hier

sry wegen meinem späten dank

MFG Skizer
 

ChrisvA

Aktives Mitglied

AW: PHP - Forum - Formular - Fragen

Noch eine Anmerkung zu dem ganzen:
Du musst dir auf jeden Fall eine Möglichkeit überlegen, wie du es schaffst, dass man keine HTML-Code eingeben kann, sonst hast du sofort die ersten "JS- Viren" auf deiner Seite.
HTML-Tags kannst du entweder mit http://us3.php.net/manual/en/function.strip-tags.php, oder mit htmlentities. Diese Funktionen musst du allerdings vor der Ersetzung der Smiles oder BB-Tags machen, sonst kommt nur noch Chaos raus.

PS. Zum Zeitschutz: An deiner Stelle würde ich mich nicht nur auf das JS verlassen,sondern zumindest noch mit PHP das ganze einmal überprüfen. (z.B. nach IP-Adresse, Session oder Cookies) denn Javaskript wird auf Seiten der Anwender ausgeführt und kann so sehr gut manipuliert werden. ( Ich sage nur FireBug)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben