Neuer Beitrag Link mit vorgegebenem Text im Titel

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.
plexus-x

Beitrag von plexus-x »

Super! Funktioniert einwandfrei. Echt tolle Leistung von dir... Danke, Danke! :grin:

Jetzt hab ich aber noch ein weiteres Problem über das ich mir vorher leider nicht den Kopf zerbrochen habe.

Die Leute können ja jetzt Themen mit dem vorgegebenen "News-Titel" im Forum eröffnen, aber leider immer und immer wieder, wenn sie z.B. nicht wissen, dass schon jemand anders diesen Thread aufgemacht hat. Es soll aber nicht generell im Forum ausgeschaltet werden, dass man mehrere Themen mit dem gleichen Titel schreiben kann.

Nicht falsch verstehen. Es soll lediglich beim Klick auf den Link (auf der News-Seite) überprüft werden, ob der Titel schon vorhanden ist. Ist er vorhanden, dann soll das Thema angezeigt werden. Wurde noch kein Thema eröffnet, dann soll wie gehabt die Antwort-Seite angezeigt werden.

Könnte man also nicht eine Funktion einbauen, dass überprüft wird ob schon ein Thema mit genau diesem Titel existiert?
ALSO: Wenn schon ein Thema mit dem diesem Titel aufgemacht wurde, dann soll er automatisch zu diesem Thema springen, ansonsten wie es jetzt bereits geht zur Antworten-Seite.


Ich hoffe dass ist verständlich! ;)
Patrik
Mitglied
Beiträge: 208
Registriert: 23.04.2005 13:30
Wohnort: Hallein

Beitrag von Patrik »

Dein news sind ja in der DB gespeichert. OdeR?

Falls, Ja, könntest du eine zusätzliche Spalte machen in der die Topic id, des aufgemachten Themas steht und man kommt dann zu dieser seite zum anzeigen. Falls aber in der Spalte 0, oder NULL oder -1 (wie du es halt amchen willst), dann kann kommt man auf die Thema erstellen seite, so wie du es bis jetzt schon gemacht hast.
Die 3 größten Feinde eines Programmierers: Sonnenlicht, Frischluft und das unerträgliche Gebrüll der Vögel...
Jede Beseitigung eines Programmfehlers ruft Zwei neue hervor.
plexus-x

Beitrag von plexus-x »

Gute Idee, aber wie komme ich an die "Topic ID"?
Patrik
Mitglied
Beiträge: 208
Registriert: 23.04.2005 13:30
Wohnort: Hallein

Beitrag von Patrik »

plexus-x hat geschrieben:Gute Idee, aber wie komme ich an die "Topic ID"?
Lass mich bitte eine Nacht drüber schlafen, morgen bekommst du die Lösung.
Die 3 größten Feinde eines Programmierers: Sonnenlicht, Frischluft und das unerträgliche Gebrüll der Vögel...
Jede Beseitigung eines Programmfehlers ruft Zwei neue hervor.
plexus-x

Beitrag von plexus-x »

Das find ich klasse! Danke schonmal! *freu*
plexus-x

Beitrag von plexus-x »

Na, haste keine Möglichkeit gefunden das hinzubekommen? :roll:
Patrik
Mitglied
Beiträge: 208
Registriert: 23.04.2005 13:30
Wohnort: Hallein

Beitrag von Patrik »

Tud mir leid, aber ich finde keine einzige INSERT INTO Anweisung in der postings.php Könnte diese vielleicht in einer anderen Datei sein? Wenn ja, sagt mir bitte in welcher.
Die 3 größten Feinde eines Programmierers: Sonnenlicht, Frischluft und das unerträgliche Gebrüll der Vögel...
Jede Beseitigung eines Programmfehlers ruft Zwei neue hervor.
Benutzeravatar
Ivan
Mitglied
Beiträge: 267
Registriert: 28.12.2004 17:26
Wohnort: Mössingen, BW
Kontaktdaten:

Beitrag von Ivan »

das ganze ist auch in der functions_post.php zu finden.
Werde mir das morgen mal genauer anschauen und dir einen Lösungsvorschlag posten.


Gruß
Ivan
Der Götterbote - Die Zeitung von The-Arena
Patrik
Mitglied
Beiträge: 208
Registriert: 23.04.2005 13:30
Wohnort: Hallein

Beitrag von Patrik »

@Ivan
Danke für den Tipp mit der functions_post.php

@plexus-x
Ich hoffe die Änderungen funktionieren. Danach musst du zusätzlich zum Titel auch die NewsID mit der URL-Variable nid übergeben.

Code: Alles auswählen

##############################################################
## MOD Author:  Patrik < patrik@working-sheepdogs.at > (Patrik Sporeni) http://diezone.uttx.net/
##
## Installation Level: Easy
## Installation Time: 5 Minutes
## Files To Edit:
##   includes/functions_post.php
##   posting.php
##
## Included Files: N/A
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
includes/functions_post.php

#
#-----[ FIND ]------------------------------------------
#
	add_search_words('single', $post_id, stripslashes($post_message), stripslashes($post_subject));

#
#-----[ AFTER ADD ]------------------------------------------
#
	
	//
	// News
	//
	if(($mode == 'newtopic') && (!empty($news_id)))
	{
		$sql = "UPDATE deine_news_tabelle
			SET topic_id = $topic_id
			WHERE news_id = $news_id";
		if(!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in news', '', __LINE__, __FILE__, $sql);
		}
	}

#
#-----[ OPEN ]------------------------------------------
#
includes/posting.php

#
#-----[ FIND ]------------------------------------------
#
			$bbcode_uid = '';
#
#-----[ AFTER ADD ]------------------------------------------
#
			$news_id = (!empty($HTTP_POST_VARS['nid'])) ? $HTTP_POST_VARS['nid'] : (!empty($HTTP_GET_VARS['nid'])) ? $HTTP_GET_VARS['nid'] : '';

#
#-----[ FIND ]------------------------------------------
#
				submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length);

#
#-----[ REPLACE WITH ]------------------------------------------
#
				if(empty($news_id))
				{
					submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length);
				}
				else
				{
					submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length, $news_id);
				}
#
#-----[ FIND ]------------------------------------------
#
		$hidden_form_fields .= '<input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '" />';

#
#-----[ REPLACE WITH ]------------------------------------------
#
		$hidden_form_fields .= '<input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '" /><input type="hidden" name="nid" value="' . $news_id . '" />';

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Die 3 größten Feinde eines Programmierers: Sonnenlicht, Frischluft und das unerträgliche Gebrüll der Vögel...
Jede Beseitigung eines Programmfehlers ruft Zwei neue hervor.
plexus-x

Beitrag von plexus-x »

Danke dir dass du dir soviel Mühe gemacht hast. Nur wie soll ich dem Titel die NewsID mit der URL-Variable nid übergeben? Kannst du mir das bitte nochmal etwas genauer erklären?

Und was genau soll ich hier eintragen?

Code: Alles auswählen

$sql = "UPDATE deine_news_tabelle 
Antworten

Zurück zu „Coding & Technik“