Benutzername beim Posten als Pflicht...

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Benutzername beim Posten als Pflicht...

Beitrag von Christian_N »

Hallo,
da man mir hier eher und schneller helfen kann besser gesagt tut als auf die andere supportseite wie phpBB.de usw. steh ich von folgendes problem,
habe in der functions_post.php vor

Code: Alles auswählen

// Check subject
das eingefügt

Code: Alles auswählen

   else if ( empty($username) && $userdata['user_id'] == ANONYMOUS ) 
   { 
                      $error_msg .= ( !empty($error_msg) ) ? '<br />' . $lang['Empty_username'] : $lang['Empty_username']; 
   } 
in der lang_main.php hab ich auch dann den Text der ausgegeben werden soll eingetragen, nur leider funktioniert es nicht.
Es können nach wie vor Gäste schreiben ohne das Feld Benutzername auszufüllen.
Ich hoffe mir kann man dabei helfen, welche dateien werden benötigt? functions_post.php und posting.php? also ich gehe jedenfalls mal davon schonmal aus und hänge sie gleich mit ran um schonmal es etwas zu beschleunigen.

Im voraus schon mal besten Dank.
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nimm mal nur diese Bedingung:

Code: Alles auswählen

	else if ($userdata['user_id'] == ANONYMOUS) 
Wird auch dann aktiv, wenn $username leer ist, denn die erste Bedigung in dem Block prüft ja schon auf "!empty"...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

macht kein unterschied aus es bleibt nach wie vor so. :(
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

Hallo,


hier ein sehr gut funktionierender MOD
##############################################################
## MOD Title: Enter your name
## MOD Author: R@ < meos@mail.ru > (Kirill) http://osdev.ru
## MOD Description: Guests must enter their name, when posting
## MOD Version: 1.0.0
##
## Installation Level: Easy
## Installation Time: 3 Minutes
## Files To Edit: posting.php
## language/lang_english/lang_main.php
## templates/subSilver/posting_body.tpl
## Included Files: n/a
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## MOD History:
##
## 2004-06-07 - Version 1.0.0
## - Initial Release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#

posting.php

#
#-----[ FIND ]------------------------------------------
#

'L_SUBJECT' => $lang['Subject'],

#
#-----[ BEFORE, ADD ]------------------------------------------
#

'L_ENTER_YOUR_NAME' => $lang['Enter_your_name'],

#
#-----[ OPEN ]------------------------------------------
#

language/lang_english/lang_main.php

#
#-----[ FIND ]------------------------------------------
#

$lang['Subject'] = 'Subject';

#
#-----[ BEFORE, ADD ]------------------------------------------
#

$lang['Enter_your_name'] = 'Enter your name';

#
#-----[ OPEN ]------------------------------------------
#

templates/subSilver/posting_body.tpl

#
#-----[ FIND ]------------------------------------------
#

if (formErrors) {
alert(formErrors);
return false;

#
#-----[ BEFORE, ADD ]------------------------------------------
#

<!-- BEGIN switch_username_select -->
if (document.post.username.value == '' && !(formErrors)) {
formErrors = "{L_ENTER_YOUR_NAME}";
}
<!-- END switch_username_select -->

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM


Gruß Max
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

hm, aber der öffnet dann doch sicher ein alert-fenster oder? und ich möchte kein alert-fenster haben auch bei die nachrichtentext wenn kein eingegeben wurde will ich schaun das kein alert-fenster erscheint, sonder als message darüber wie es ist wenn man ein Benutzername eingibt, der bereits schon belegt ist.
Grund: Weil wenn mich nicht alles täuscht muss Javascript dann dafür aktiviert sein damit er das alert-fenster öffnen kann aber wenn jemand es deaktiviert hat gehts doch nicht?
oder täusch ich mich da jetzt total?
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann mach das doch in der posting.php:
Finde

Code: Alles auswählen

			prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $gast_email, $gast_www, $message, $poll_title, $poll_options, $poll_length);
und füge davor ein:

Code: Alles auswählen

if ( empty($username) && $userdata['user_id'] == ANONYMOUS )
{
     $error_msg .= ( !empty($error_msg) ) ? '<br />' . $lang['Empty_username'] : $lang['Empty_username'];
}
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

in der posting.php hatt ich es auch schon, zwar andere stelle unterhalb von

Code: Alles auswählen

case 'reply':
			$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
aber ging auch net, da ich durch den mod add a new field to posting vom acid auch in den optimal ordner die datei "Info als Pflicht" angeschaut hatte wo da es hinzugefügt wurde und wie.
Naja dann versuchs mal an die stelle die du genannt hast @oxpus...

EDIT: Die fundstelle ist ja der case 'reply': block also dann war die stelle von mir ganrnicht so verkehrt, wo es nicht ging, also dürfte es darüber auch net gehn...

EDIT2: wie ich vermutet habe es geht nicht, ich versuch dann halt mal das von Max, die meisten haben ja JavaScript an, wenn nicht dürfte ja dieser Gast trotzdem nicht absenden können? erhält dann halt aber kein hinweiss das benutzername pflicht ist sonder eher ne fehler gelbe ausrufzeichen unten in statuszeile oder?
Leider kenn ich mit JS nicht so aus wie es läuft, wenns deaktiviert ist, was ich weiss ist das es dann geblockt wird die funktion, aber wie der benutzer beim deaktivierte javascript darauf dann aufmerksam gemacht wird das JS geblockt wurde k.a.

EDIT3: Hm selbst mit Max lösung gehts net, dautet ja fast da hin das username nicht richtig funktioniert, das vllt. was geändert wurde? hm :(
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich kann Dir immer weniger folgen :(
Die Prüfung des Usernames direkt vor der prepare_post, egal, wo die auch ist, ist egal, Hauptsache $username wird abgefragt.
Damit kommt kein User durch um etwas zu posten.
Okay, hier wird der Beitrag weiterhin gepostet, hm, vielleicht ist eine andere Stelle günstiger...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

ich hab auch keine ahnung warum es bei mir nicht klappt.

In der alte Seite, hatte ich $gast_username gehabt und für Forum ID 3 eine extra *tpl datei fürs posting angelegt und so da hatte es auch funktioniert da bekam man die meldung das der Benutzername eingegeben werden muss.

Allerdings wollte ich auf der neue Seite in jede Kategorie wo Gäste schreiben dürfen es haben diesmal und da wäre es mit $username am beste gewesen, aber leider funktioniert es nicht, hoffe sehr das es doch noch irgendwie wir hinbekommen.

EDIT: wenn auch mal die Seite benötigst und ggf. Testaccount, dann kann ich sie per PN gerne schicke
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Im Moment kann ich nur sporadisch helfen. Leider überhaupt nicht mehr.
Sonst würde ich die posting.php auch noch eingehender untersuchen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

schade, wirklich schade :(, den ich bin auch am ende leider mit mein wissenstand, weiss momentan auch net an was es liegen könnten.

aber hier gibt es ja mehre die sich gut auskennen, vllt. find sich ja noch jemand anders wer mit helfen kann, hoffs jedenfalls.
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

Teste einfach mal, ob das hier ohne JAVA soe geht, wie Du das erhoffst - dort ist der von mir gepostete MOD drin.

Gruß Max
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

also bei dir kommt die fehler überhalb der tabelle, wo auch steht das Der Benutzername bereits belegt ist. bzw. bei ein neues Thema ein Titel angegeben werden muss, an dieser stelle.

Wenn Message leer bleibt kommt das alert-fenster wie es auch bei mir ist, jedenfalls würde ich auch oben dann die meldung haben wenn der Benutzername leer bleibt und nicht als alert-fenster...

EDIT: Ich trottel, nach 10Jahre wo schon ne vollbart gewachsen ist, hab ich den Fehler gefunden, in eine Datei wo ich nie drauf komme hätte würde, wenn ich nicht mal hardcodet gemacht hätte.
der fehler lag in der lang_main.php da hat der kopierfehlerteufel zugeschlagen gehabt:

Code: Alles auswählen

$lang['Empty_subject'] = 'Bei einem neuen Thema musst du einen Titel angeben.';
$lang['Empty_subject'] = 'Du musst einen Benutzername angeben.';
Da also Empty_username nicht gefunden werden konnte war es so, nachdem ich es umgeändert habe, ging der code von Max und es hat sich das Alert-Fenster geöffnet, auch mein Code vom Beitrag #1 ging danach dann ohne probleme.

Jetzt muss ich mal schaun wenn man eingeloggt ist ob die meldung kommt, dürfte aber eigentlich nicht durch die prüfung

Code: Alles auswählen

&& $userdata['user_id'] == ANONYMOUS
nunja dann mal vorallem schauen wie man es mit dem message hinbekommt wenn der nachrichtentext leer bleibt das auch in dem feld dann die meldung steht statt im Alert-Fenster glaube da sogar mal ne Anleitung zu gesehn zu haben wie man es ändern konnten. *aufsuchegeht*

Gruß Chris
Zuletzt geändert von Christian_N am Di 14.Mär, 2006 17:26, insgesamt 1-mal geändert.
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Antworten