"Enter" im Eingabefeld führt falschen Befehl aus

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

"Enter" im Eingabefeld führt falschen Befehl aus

Beitrag von Dungeonwatcher »

Hi! 8)

Hier gleich noch eine Frage zum "Private Message Encryption and Decryption" Mod.

Wenn der Cursor im Passwordfeld ist und dann einfach auf "Enter" gedrückt wird, wird nicht der Befehl "verschlüsseln und absenden" ausgeführt, sondern man landet wieder in der PN Übersicht.

Welcher Code ist dafür verantwortlich bzw. muss wie aussehen damit es korrekt funktioniert:

Code: Alles auswählen

            <!-- BEGIN switch_privmsg -->
            <span style="margin-left: 50px; font-size: 80%">Password: </span>
            <input type="password" tabindex="7" class="post" name="encryption_key" size="16" maxlength="15" />
            <input type="submit" tabindex="8" name="encrypt" class="mainoption" value="verschl&uuml;sseln & Absenden" />
            <!-- END switch_privmsg -->
bzw.

Code: Alles auswählen

	if ( $decrypt )
		{
			$cipher_alg = MCRYPT_RIJNDAEL_256;
			$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
			$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
			$key = "This is a very secret key";
			$decrypted_message = str_replace("<b>Um diese verschl&uuml;sselte Nachricht zu lesen, gebe das Passwort unten rechts ein und klicke dann auf den Button \"Nachricht entschl&uuml;sseln\":</b>\n\n", "", $private_message);
			$decrypted_message = str_replace("<br />", "", $decrypted_message);
			$decrypted_message = trim(mcrypt_decrypt($cipher_alg, $encryption_key, pack("H*", $decrypted_message), MCRYPT_MODE_CFB, "$iv"));
			$private_message = str_replace("\r\n", "<br />", $decrypted_message);
			$decrypted_message = str_replace("\"", "\"", $decrypted_message);
		}
und

Code: Alles auswählen

			if ($encrypt)
				{
					$cipher_alg = MCRYPT_RIJNDAEL_256;
					$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
					$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
					$key = "This is a very secret key";
					$encrypted_message = str_replace("\\\"", "\"", $privmsg_message);
					$encrypted_message = str_replace("\\'", "'", $encrypted_message);
					$encrypted_message = str_replace("\\\\", "\\", $encrypted_message);
					$encrypted_message = bin2hex(mcrypt_encrypt($cipher_alg, $encryption_key, $encrypted_message, MCRYPT_MODE_CFB, "$iv"));
					$encrypted_message = wordwrap($encrypted_message, 80, "<br />", 1);
					$encrypted_message = "<b>Um diese verschl&uuml;sselte Nachricht zu lesen, gebe das Passwort unten rechts ein und klicke dann auf den Button \"Nachricht entschl&uuml;sseln\":</b>\n\n" . $encrypted_message;
					$sql = "INSERT INTO " . PRIVMSGS_TEXT_TABLE . " (privmsgs_text_id, privmsgs_bbcode_uid, privmsgs_text)
						VALUES ($privmsg_sent_id, '" . $bbcode_uid . "', '" . $encrypted_message . "')";
				}
Danke schonmal 8)
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Da ich den Mod nicht kenne, kann ich dir nur die Ursache für dieses Verhalten nennen. Und zwar wird beim Enter drücken das Formularfeld mit dem Namen des Buttons (z.B. <input name="submit">) nicht übertragen, da dieser ja nicht angeklickt wurde. Du musst also den Mod so abändern, daß wenn kein Button angeklickt wurde, einer als Standardaktion ausgeführt wird.
KB:knigge
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Beitrag von Dungeonwatcher »

Ufff, kannst du mir bitte mal ein Beispielscript zeigen, damit ich weiss wonach ich suchen muss, bzw. wie soetwas auszusehen hat?

Danke
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Dungeonwatcher hat geschrieben:kannst du mir bitte mal ein Beispielscript zeigen
In posting.php ist es z.B. so, daß die Standardaktion "Vorschau" ist.
KB:knigge
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Beitrag von Dungeonwatcher »

Hi! 8)
Pyramide hat geschrieben:Da ich den Mod nicht kenne, kann ich dir nur die Ursache für dieses Verhalten nennen.
Der Private Message Encryption and Decryption Mod selber ist hier zu finden und der Einbau einfach. Mittlerweile habe ich auch alle Probleme und Schönheitsfehler beseitigen können, nur eben dieses Problem nicht. Mir fehlt einfach DIE Idee. :-?

Hier mal meine privmsg.php

Es währe schön wenn sich mal jemand der Profis diesen Mod anschauen würde. Evtl. hat er ja dann DIE Idee. :roll:
Antworten

Zurück zu „Coding & Technik“