HTH-C.com - Forum
Latest News Latest Threads
Neuerung: Persönliche Galerie
Informationen zur Übernahme der Erweite..
HTH Blog - Version 2.0
#HTH.Systems - Betatester gesucht
Neueröffnung - PHPKit-Award.de
HTH Webchat v3
Letzter Beitrag Happy Birthday Bottyline Weiblicher Benutzer Heute, 0:00 Zeit der letzten Antwort
Letzter Beitrag Herzlich Willkommen Botty Männlicher Benutzer 22.11.2024 - 20:45 Zeit der letzten Antwort
Letzter Beitrag Gibt es eigentlich noch jemand der PHPki.. Dooki Männlicher Benutzer 16.07.2024 - 19:47 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 WEBI Männlicher Benutzer 24.06.2024 - 12:58 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 ohne ASCE auf PHP8x Myrddin Männlicher Benutzer 22.03.2023 - 12:36 Zeit der letzten Antwort
 55.769 Posts & 4.945 Themen in 78 Foren
Forenübersicht » Support / Hilfe » PHPKit 1.6.03 & 1.6.1 » Support » Signatur - Zeichenanzahl besch..

Signatur - Zeichenanzahl beschränken+prüfen
13 Beiträge in diesem Thema
 Seiten (1):    1  
03.09.2012 - 09:48 Uhr
Beitrag: #1
Hi,
ich möchte gerne die Zeichenanzahl in der Signatur beschränken da bei uns einige halbe Romane in der Sig stehen haben und das im Forum stört.

Es gibt Javascripts mit denen sich das auch prima lösen läßt - hab das hier getestet
http://www.script-inside.de/Java/Forms/area.php

nur was passiert wenn man js deaktiviert ?
Gibts irgendeine Möglichkeit das die ganze Sache dann immernoch funktioniert bzw. geprüft wird ?
Gibt es ausserdem die Möglichkeit die Zeilenanzahlt auf z.b. 5 oder 10 Zeilen zu minimieren ? Man kann ja auch 50 Zeilen a 3 Buchstaben machen - sieht auch irgendwie scheisse aus.

Gruß

 
Zum Anfang der Seite
03.09.2012 - 15:54 Uhr
Beitrag: #2
PHPKit 1.6.03:

Öffne die login/edtprofil.php und suche nach:




1
2
3

PHP-Quelltext

 if ($_POST['ud_email']==''$uderror=4;
 elseif (!
emailcheck($_POST['ud_email'])) $uderror=5;
 else 
$ud_email=$_POST['ud_email'];
und füge darunter folgendes hinzu:




1
2

PHP-Quelltext

 if(strlen($_POST['ud_usersig']) > 100$uderror=7;
 else 
$ud_usersig=addslashes($_POST['ud_usersig']);
Hier die Zeichenanzahl von max. 100 ergänzen.

Nun suchen wir innerhalb der obrig genannten Datei weiter nach:




1

PHP-Quelltext

  $ud_usersig=addslashes($_POST['ud_usersig']);
und kommentieren diese Zeile aus..




1

PHP-Quelltext

  #$ud_usersig=addslashes($_POST['ud_usersig']);
Wobei dieses eher unwichtig erscheint, da es ähnlich dem else fungiert, da die Speicherung nur stattfindet, sofern kein Update-Fehler auftritt.


Nun öffnen wir die Datei admin/config/event.php und suchen nach folgendem:




1

PHP-Quelltext

elseif ($event=="ud1" or $event=="ud2" or $event=="ud3" or $event=="ud4" or $event=="ud5" or $event=="ud6") {
ersetzen es mit diesem:




1

PHP-Quelltext

elseif ($event=="ud1" or $event=="ud2" or $event=="ud3" or $event=="ud4" or $event=="ud5" or $event=="ud6" or $event=="ud7") {
Anschliessend in das Verzeichnis templates/ wechseln und dort eine neue Datei, mit dem Namen event_message_ud7.htm anlegen mit eventuell folgendem Inhalt:

Zitat
Die von Ihnen verfasste Signatur überschreitet die maximale Anzahl an Zeichen.





PHPKit 1.6.1:

Öffne die inc/public/usereditprofile.php und suche nach:




1
2
3
4
5
6

PHP-Quelltext

    if($_POST['ud_email']=='')
        
$uderror='email_empty';
    elseif(!
emailcheck($_POST['ud_email']))
        
$uderror='email_invalid';
    else
        
$ud_email=$_POST['ud_email'];
und füge darunter folgendes hinzu:




1
2

PHP-Quelltext

        if(strlen($_POST['ud_usersig']) > 100$uderror='profileupdate_sig_maxsigns';
        else 
$ud_usersig=addslashes($_POST['ud_usersig']);
Hier die Zeichenanzahl von max. 100 ergänzen.

Weitersuchen nach:




1

PHP-Quelltext

pkHeaderLocation('editprofile','','uderror='.$uderror);
und ersetzen mit diesem (sofern noch nicht getan):




1

PHP-Quelltext

pkHeaderLocation('usereditprofile','','event='.$uderror);  

Nun öffnen wir die Datei inc/lang/de/event.php und suchen nach folgendem:




1
2
3

PHP-Quelltext

#ud6
'eventtitle_profileupdate_nickname_invalid'=>'',
'event_profileupdate_nickname_invalid'=>'Beim Update Ihres Benutzerprofils ist leider ein Fehler aufgetreten!<br/><br/>Der von Ihnen ausgew&auml;hlte Spitzname ist ungültig, bitte w&auml;hlen Sie einen anderen aus.',
fügen darunter folgendes hinzu:




1
2
3

PHP-Quelltext

#ud7
'eventtitle_profileupdate_sig_maxsigns'=>'Maximale Zeichenanzahl &uuml;berschritten',
'event_profileupdate_sig_maxsigns'=>'Die von Ihnen verfasste Signatur &uuml;berschreitet die maximale Anzahl an Zeichen.',
- Ungetestet!

 
Zum Anfang der Seite
03.09.2012 - 16:08 Uhr
Beitrag: #3
Du kannst auch an besagter Stelle dies einfügen:

1.6.03



1
2
3
4
5
6
7
8
9
10
11

PHP-Quelltext

    $pSig_maxString =20;
    
$pSig_maxBreak  =5;
    
$pSig_post      =$_POST['ud_usersig'];
    
$pSig_post      =explode("\n"$pSig_post);
    
$pSig_post      =count($pSig_post);


    if(isset(
$_POST['ud_usersig']) && trim($_POST['ud_usersig'])!='' && (strlen($_POST['ud_usersig'])>$pSig_maxString || $pSig_post>$pSig_maxBreak))
        {
        
$uderror=7;
        }
---

1.6.01



1
2
3
4
5
6
7
8
9
10
11

PHP-Quelltext

    $pSig_maxString =20;
    
$pSig_maxBreak  =5;
    
$pSig_post      =$_POST['ud_usersig'];
    
$pSig_post      =explode("\n"$pSig_post);
    
$pSig_post      =count($pSig_post);


    if(isset(
$_POST['ud_usersig']) && trim($_POST['ud_usersig'])!='' && (strlen($_POST['ud_usersig'])>$pSig_maxString || $pSig_post>$pSig_maxBreak))
        {
        
$uderror='sig_maxsigns';
        }
//edit
WEBI, den Else-Part bei der Fehlerabfrage kannste eh weg lassen, da ja eh weitergeleitet wird. Post-Werte gehen also eh verloren.
Und bei der 1.6.1 ist die Fehlermeldung eh für die Katz, da, z.B. beim Rohkit, eine unbekannte Seite erscheint.

Wenn er also die 1.6.1 benutzt, müsste noch das geändert werden:
Suche in der inc/public/usereditprofile.php nach dem:



1

PHP-Quelltext

pkHeaderLocation('editprofile','','uderror='.$uderror);
Und mache daraus das:



1

PHP-Quelltext

pkHeaderLocation('usereditprofile','','event='.$uderror);


Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von k!r!ka - 03.09.2012 - 16:14 Uhr
 
Zum Anfang der Seite
03.09.2012 - 16:10 Uhr
Beitrag: #4
So wäre auch die Zeilenproblematik berücksichtigt, es müssten nur zzgl. die Änderung an der event.php vorgenommen werden, je nach PHPKit-Version samt Erstellen eines weiteren Templates(1.6.03). Für mich nur fraglich warum jemand XX Zeilen in Anspruch nehmen sollte bei einer Signatur.  

@k!r!ka, ganz im Gegenteil, da die Variable $ud_usersig andernfalls ja keinen Inhalt bzw. gar nicht erst vorhanden wäre. Sofern wie oben beschrieben man den Teil entfernt, wie ich aber bereits schrieb im Grunde genommen unnütz. Sofern man den Code natürlich stehen lassen würde, ganz klar; wäre/ist das else total sinnlos.

War ungetestet, bei solch minimalen Teilchen glaube ist ein Test nicht wirklich von Nöten. Bzgl. der Headerlocation, da hatte ich nun gar nicht dran gedacht - ganz vergessen das man ja auch noch stets deren Fehler ausbügeln muss.  

 
Zum Anfang der Seite
03.09.2012 - 19:54 Uhr
Beitrag: #5
Boar   ich danke euch, werds morgen direkt testen - aber hab noch 2 Fragen

@webi, haben einen der hat 32 Zeilen in seiner Signatur -.-

was meinst du mit

Zitat




1
2
3

PHP-Quelltext


if(strlen($_POST['ud_usersig']) > 100$uderror='sig_maxsigns';
else 
$ud_usersig=addslashes($_POST['ud_usersig']); 

Hier die Zeichenanzahl von max. 100 ergänzen.



soll ich da die 100 ändern oder bei sig_maxsigns die Zahl die davor steht (100 in deinem Code) nochmal reinschreiben ? Stelle mich wohl etwas blöd an *g

@k!r!ka

was meinst du mit "besagter Stelle" ? *g*

Sind das jetzt 2 verschiedene Methoden von euch oder ein part 1 webi part 2 k!r!ka ?

Lacht mich bitte nicht aus wegen der blöden Fragen grosses Lachen

Gruß

 
Zum Anfang der Seite
03.09.2012 - 20:11 Uhr
Beitrag: #6
Es sind 2 Varianten, nur das eben die von k!r!ka umfangreicher ist und auch die Zeilenumbrüche berücksichtigt.
32 Zeilen? Du möchtest nicht wissen was einem Benutzer auf dieser Seite, mit einer solchen Signatur drohen würde. Ggf. hetze ich diesem Jardin auf dem Hals und k!r!ka kommt daher und faselt mal wieder von Weltfrieden...

Zusammengefasst, PHPKit, 1.6.1:

Öffne die inc/public/usereditprofile.php und suche nach:




1
2
3
4
5
6

PHP-Quelltext

    if($_POST['ud_email']=='')
        
$uderror='email_empty';
    elseif(!
emailcheck($_POST['ud_email']))
        
$uderror='email_invalid';
    else
        
$ud_email=$_POST['ud_email']; 
Füge darunter folgendes hinzu:




1
2
3
4
5
6
7
8
9
10
11

PHP-Quelltext

# Signatur - Zeichen & Zeilen Limit - SOC
    
$pSig_maxString =20;
    
$pSig_maxBreak  =5;
    
$pSig_post      =$_POST['ud_usersig'];
    
$pSig_post      =explode("\n"$pSig_post);
    
$pSig_post      =count($pSig_post);
    if(isset(
$_POST['ud_usersig']) && trim($_POST['ud_usersig'])!='' && (strlen($_POST['ud_usersig'])>$pSig_maxString || $pSig_post>$pSig_maxBreak))
        {
         
$uderror='profileupdate_sig_maxsigns'
        }
# Signatur - Zeichen & Zeilen Limit - EOC 
Werte von $pSig_maxString (Maximale Zeichen) und $pSig_maxBreak (Maximale Zeilenumbrüche) den Wünschen nach anpassen.

Weitersuchen nach (Sofern vorhanden):




1

PHP-Quelltext

pkHeaderLocation('editprofile','','uderror='.$uderror);
Ersetzen mit diesem (Sofern nicht bereits vorhanden):




1

PHP-Quelltext

pkHeaderLocation('usereditprofile','','event='.$uderror);
Nun öffnen wir die Datei inc/lang/de/event.php und suchen nach folgendem:




1
2
3

PHP-Quelltext

#ud6
'eventtitle_profileupdate_nickname_invalid'=>'',
'event_profileupdate_nickname_invalid'=>'Beim Update Ihres Benutzerprofils ist leider ein Fehler aufgetreten!<br/><br/>Der von Ihnen ausgew&auml;hlte Spitzname ist ungültig, bitte w&auml;hlen Sie einen anderen aus.',
fügen darunter folgendes hinzu:




1
2
3

PHP-Quelltext

#ud7
'eventtitle_profileupdate_sig_maxsigns'=>'Maximale Zeichenanzahl &uuml;berschritten',
'event_profileupdate_sig_maxsigns'=>'Die von Ihnen verfasste Signatur &uuml;berschreitet die maximale Anzahl an Zeichen.',


Zusammengefasst, PHPKit 1.6.03:

Öffne die login/edtprofil.php und suche nach:




1
2
3

PHP-Quelltext

 if ($_POST['ud_email']==''$uderror=4;
 elseif (!
emailcheck($_POST['ud_email'])) $uderror=5;
 else 
$ud_email=$_POST['ud_email']; 
Füge darunter folgendes hinzu:




1
2
3
4
5
6
7
8
9
10
11

PHP-Quelltext

# Signatur - Zeichen & Zeilen Limit - SOC
    
$pSig_maxString =20;
    
$pSig_maxBreak  =5;
    
$pSig_post      =$_POST['ud_usersig'];
    
$pSig_post      =explode("\n"$pSig_post);
    
$pSig_post      =count($pSig_post);
    if(isset(
$_POST['ud_usersig']) && trim($_POST['ud_usersig'])!='' && (strlen($_POST['ud_usersig'])>$pSig_maxString || $pSig_post>$pSig_maxBreak))
        {
        
$uderror=7;
        }
# Signatur - Zeichen & Zeilen Limit - EOC
Werte von $pSig_maxString (Maximale Zeichen) und $pSig_maxBreak (Maximale Zeilenumbrüche) den Wünschen nach anpassen.

Nun öffnen wir die Datei admin/config/event.php und suchen nach folgendem:




1

PHP-Quelltext

elseif ($event=="ud1" or $event=="ud2" or $event=="ud3" or $event=="ud4" or $event=="ud5" or $event=="ud6") {
ersetzen es mit diesem:




1

PHP-Quelltext

elseif ($event=="ud1" or $event=="ud2" or $event=="ud3" or $event=="ud4" or $event=="ud5" or $event=="ud6" or $event=="ud7") {
Anschliessend in das Verzeichnis templates/ wechseln und dort eine neue Datei, mit dem Namen event_message_ud7.htm anlegen mit eventuell folgendem Inhalt:

Zitat
Die von Ihnen verfasste Signatur überschreitet die maximale Anzahl an Zeichen.





Die 1. Variante im zweiten Beitrag dieses Threads berücksichtigt lediglich keine Zeilenumbrüche. Die hier zusammengefasste Anleitung dient zum Setzen eines Limits an Zeichen sowie Zeilenumbrüche innerhalb der Signatur.

 
Zum Anfang der Seite
03.09.2012 - 20:38 Uhr
Beitrag: #7
Zitat
Original geschrieben von WEBI

Es sind 2 Varianten, nur das eben die von k!r!ka umfangreicher ist und auch die Zeilenumbrüche berücksichtigt.



Wobei man das noch erweitern kann. Mit jetziger Methode zählt jedes Zeichen, unabhängig vom Zeilenumbruch. Dies könnt man allerdings noch Zeilenweise machen  

Was hast du gegen Weltfrieden, an dem ich immer noch arbeite?

 
Zum Anfang der Seite
03.09.2012 - 20:51 Uhr
Beitrag: #8
Na warum denn nicht, käme das Javascript wiederholte male zum Einsatz - wenn man 5 Zeilen zulässt, 5 Inputs, a 20 Zeichen?  Bääääh
Wie schauts aus, eine weitere Smilieliste, nur für Dich, k!r!ka? Und wie steht es momentan um den Weltfrieden?

Zitat
Original geschrieben von fireball1982

soll ich da die 100 ändern oder bei sig_maxsigns die Zahl die davor steht (100 in deinem Code) nochmal reinschreiben ? Stelle mich wohl etwas blöd an *g

In dem Fall würde die Zahl (100) nach Belieben geändert werden müssen. Was bei letzteren Methode durch die innerhalb der Zusammenfassung genannten Variablen ersetzt wurde. sig_maxsigns dient als Definition des Fehlertextes und sollte unverändert bleiben.

Zitat
Original geschrieben von fireball1982

Sind das jetzt 2 verschiedene Methoden von euch oder ein part 1 webi part 2 k!r!ka ?

Sowohl als auch.  

 
Zum Anfang der Seite
04.09.2012 - 14:07 Uhr
Beitrag: #9
Ihr seit 2 Komiker grosses Lachen

Ich habe jetzt erstmal die Methode von Webi (Post 21744) getestet, das ganze läuft wohl allerdings habe ich mit der "Sprachvariable" wohl ein Problem, da noch ein anderer Hack eingebaut ist,diese wird garnicht angezeigt.

Bei mir schaut die usereditprofile.php auch ein wenig anders aus, weiß nicht ob ich dort was verkehrt gemacht hab jetzt.
Die Änderung für die Signatur ist Zeile 135-145

Die 2. Suchstelle



1

PHP-Quelltext

pkHeaderLocation('editprofile','','uderror='.$uderror); 

gibts bei mir nicht, du schreibst ja auch falls vorhanden, bei mir ist das einzige was so ähnlich aussieht



1

PHP-Quelltext

pkHeaderLocation('inc/lang/de/event.php','','event='.$uderror);

dort habe ich jetzt nichts verändert

Hier klicken zum aufklappen


in der event.php gab es ud7 schon durch diesen Profilfeldhack
ich hab deine Änderung als ud14 eingebaut und das Template auch dementsprechend umbenannt.

Wenn ich nun zuviele Zeichen in der Signatur eingebe und speichern drücke bekomme ich ne Meldung

Zitat
L_eventtitle_sig_maxsigns

L_event_sig_maxsigns



was hab ich da verkehrt gemacht ?

Werd die 2 Dateien mal speichern und die 2. Variante auch mal testen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von fireball1982 - 04.09.2012 - 14:07 Uhr
 
Zum Anfang der Seite
04.09.2012 - 15:31 Uhr
Beitrag: #10
Öffne die inc/public/usereditprofile.php und ändere deine Passage:




1

PHP-Quelltext

pkHeaderLocation('inc/lang/de/event.php','','event='.$uderror);
In folgende um:




1
2

PHP-Quelltext

#pkHeaderLocation('inc/lang/de/event.php','','event='.$uderror);
pkHeaderLocation('usereditprofile','','event='.$uderror);
Macht keinen Unterschied, sieht doch aber schöner aus. ^^

Nun ersetze noch die zuvor implementierte Zeile:




1

PHP-Quelltext

        $uderror='sig_maxsigns'
um, in diese:




1

PHP-Quelltext

        $uderror='profileupdate_sig_maxsigns';
Info: Obriger Code, Post: #21744; angepasst.

Ein Template braucht man bei der 1.6.1 nicht anlegen, da das ganze über ein Array und einem dazugehörigen Template läuft, so benötigt man nicht x-verschiedene Templates, wie es noch bei der 1.6.03 der Fall war. Das (#udX) ist ja lediglich eine ausdokumentierte Nummerierung zur Übersicht. Nicht so wie bei der 1.6.03, wo diese noch festgelegt werden muss. Es war folglich nur ein Fehler in der Definierung der Fehlermeldung, die Funktionalität musste daran jedoch nicht glauben. zwinkern

Zudem wäre zu empfehlen, die Fehler bei den Standard-Fehlermeldungen innerhalb des Profilupdates, sofern noch nicht geschehen; zu beheben. Das betrifft die Angaben der E-Mail Adresse, des Nicknamen sowie die, des Passwortes.




1

PHP-Quelltext

        $uderror='passwords_unequal';
Wird zu:




1

PHP-Quelltext

        $uderror='profileupdate_passwords_unequal';
Weiter wird:




1

PHP-Quelltext

        $uderror='email_empty';
zu:




1

PHP-Quelltext

        $uderror='profileupdate_email_empty';
ausserdem:




1

PHP-Quelltext

        $uderror='email_invalid';
ersetzen mit:




1

PHP-Quelltext

        $uderror='profileupdate_email_invalid';
als auch:




1

PHP-Quelltext

        $uderror='nickname_invalid';
ändern in:




1

PHP-Quelltext

        $uderror='profileupdate_nickname_invalid';


 
Zum Anfang der Seite
04.09.2012 - 15:45 Uhr
Beitrag: #11
Zitat
Original geschrieben von fireball1982

Ihr seit 2 Komiker grosses Lachen


Wir tun unser bestes ..


Zitat
Original geschrieben von fireball1982

Ich habe jetzt erstmal die Methode von Webi (Post 21744) getestet,



Eigentlich ist es meine Methode, nur hat WEBI den anderen Kram, den ich posten wollte eh schon geschrieben ..  

 
Zum Anfang der Seite
04.09.2012 - 15:57 Uhr
Beitrag: #12
Zitat
Original geschrieben von k!r!ka
Eigentlich ist es meine Methode, nur hat WEBI den anderen Kram, den ich posten wollte eh schon geschrieben ..  

Hey es beinhalt noch immer meine mitlerweile funktionierende Fehlermeldung. Also, geh dich um den Weltfrieden kümmern.  Bääääh

 
Zum Anfang der Seite
04.09.2012 - 17:29 Uhr
Beitrag: #13
Läuft sehr gut, jetzt muß ich die betreffenden User nur noch in die Signatur-Änderungs-Falle locken  

Ich bedanke mich für die tolle Arbeit. Friede sei mit euch.

 
Zum Anfang der Seite
 Seiten (1):    1  

Ähnliche Themen
 
Support Support » Automatische Signatur - Letzte Antwort von xlanhackerx am 03.07.07, 19:15 Automatische Signatur  (03.07.07, 19:15)
Marktplatz Marktplatz » Suche Signatur.... - Letzte Antwort von WEBI am 02.06.07, 03:48 Suche Signatur....  (02.06.07, 03:48)
Support Support » Signatur Rahmen - Letzte Antwort von sofix am 01.07.07, 01:53 Signatur Rahmen  (01.07.07, 01:53)
Neuerungen Neuerungen » HTH Signatur Banner - Letzte Antwort von -=]LCL[=-|BuLLeT| am 23.03.09, 23:17 HTH Signatur Banner  (23.03.09, 23:17)
Styles Styles » In der Signatur ein beliebiges Bild anzeigen ? - Letzte Antwort von k!r!ka am 05.07.13, 05:32 In der Signatur ein beliebiges Bild anzeigen ?  (05.07.13, 05:32)

HTH-C.com - Webmedien & Community