Seite 2 von 3

Verfasst: 12.08.2005 12:27
von kratzer54847
und wenn du $edit testweise mal ausgibst?

Verfasst: 12.08.2005 12:45
von Martin Truckenbrodt
Hallo kratzer54847,
Dein Tipp brachte mich wohl auf die richtige Spur. DAs Problem uß wohl also in folgender Zeile liegen:
print "<form method=\"get\" action=\"phpmn.php?edit=do&id=". $newsid ."&topical=". $topical ."&do=". $do ."\"><tr>\n";
Leige ich falsch mit der Vermutung, dass ich versteckte <input>s verwenden muss?

Gruß Martin

Verfasst: 12.08.2005 13:40
von Blutgerinsel
Martin Truckenbrodt hat geschrieben: Leige ich falsch mit der Vermutung, dass ich versteckte <input>s verwenden muss?
Spielt keine Rolle.....

schon mal überlegt phpinfo(); bei phpmn.php auszuführen und zu schauen wie die Umgebungsvariablen gefüllt wurden?

1. Anmerkung: Man darf mit <? und ?> arbeiten
2. Anmerkung: Das Codegeschwülst

Code: Alles auswählen

(($edit == "do") and (($do == "html") or ($do == "plain"))
könnte man mit

Code: Alles auswählen

in_array($edit,array('do','html','plain'))
entschärfen.....

Verfasst: 12.08.2005 13:47
von kellanved
Blutgerinsel hat geschrieben:
1. Anmerkung: Man darf mit <? und ?> arbeiten
2. Anmerkung: Das Codegeschwülst

Code: Alles auswählen

(($edit == "do") and (($do == "html") or ($do == "plain"))
könnte man mit

Code: Alles auswählen

in_array($edit,array('do','html','plain'))
entschärfen.....
Was allerdings ein vollkommen anderer logischer Ausdruck wäre...

Verfasst: 12.08.2005 13:53
von kratzer54847
was gibt er denn aus? :roll:

Verfasst: 12.08.2005 13:54
von Blutgerinsel
Anommander Rake hat geschrieben:Was allerdings ein vollkommen anderer logischer Ausdruck wäre...
recht hast du.....

hab nur or gesehen :D

Verfasst: 12.08.2005 17:56
von Martin Truckenbrodt
Hallo,
mit den hidden inputs flutscht die Sache jetzt.

Das Skript läuft soweit bis auf die Update Funktion.

Code: Alles auswählen

		$sql4 = "UPDATE $member_table SET members_name='$username', members_email='$useremail', members_newsid='$id', members_mailpref='$do', members_ip='$userip', memerb_timestamp='$userts', members_status='1' WHERE members_email='$useremail' AND members_newsid='$id'";
Ist die AND Verknüpfung beim WHERE Ausdruck gültig oder muß man das grundsätzlich anders schreiben?

Gruß MArtin

Verfasst: 12.08.2005 19:15
von Martin Truckenbrodt
Hallo,
das Problem lag hier:

Code: Alles auswählen

memerb_timestamp='$userts',
:oops:

So, das Skript funktioniert jetzt soweit. Jetzt kommt noch das Reinpacken in das Template und die Sprachdateien fehlen noch.

Danach werde ich den MOD offiziell vorstellen.

Vielen Dank schon mal alle, die mir hier geholfen haben!

Gruß Martin

Verfasst: 13.08.2005 00:05
von Martin Truckenbrodt
Hallo miteinander,
da ich nun zum ersten Mal selbst eine Datei Template fähig machen will, gibt es nun schon wieder Probleme.
Ich habe die PHP erstmal weider etwas zusammen gekürzt und den Code Template fähig versucht zu machen:

Code: Alles auswählen

//Sammeln aller existierender Newsletter
$sql = "SELECT newsletter_id, newsletter_title, newsletter_description FROM $newsletter_table";
$result= mysql_query($sql);

//Sammeln aller Newsletter, in die sich der USer eingetragen hat
$sql2 = "SELECT * FROM $member_table WHERE members_email='$useremail'";
$result2 = mysql_query($sql2);

// Vorf&uuml;llen des &Uuml;bergabe Arrays
while ($subscribe = mysql_fetch_row($result2))
	{ $newsid = $subscribe[3];
		$status[$newsid]=$subscribe[4]; };

// Statusanzeige
while ($newsletter= mysql_fetch_row($result))

	{
		$newsid=$newsletter[0];
		// Auff&uuml;llen des &Uuml;bergabe Arrays f&uuml;r vern&uuml;nftige Statusanzeige, falls kein Abo vorhanden
		if ($status[$newsid] == "")
			{ $status[$newsid]= 'not subscribed'; }
		$link = "<a href=\"phpmn.php?edit=yes&id=". $newsid ."&topical=". $status[$newsid] ."\"><img src=\"templates/subSilver/images/lang_german/icon_edit.gif\" alt=\"Bearbeiten oder l&ouml;schen\" title=\"Bearbeiten oder l&ouml;schen\" border=\"0\" /></a>";
		$template->assign_block_vars('newsletter', array(
			'ID' => $newsid,
			'NAME' => $newsletter[1],
			'DESCRIPTION' => $newsletter[2],
			'TOPICAL' => $status[$newsid],
			'LINK' => $link
			));

	};


/*
+----------------------------------------------------------
| Start output the page
+----------------------------------------------------------
*/

$page_title = $lang['PHPMN'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
	'phpmn' => 'phpmn.tpl')
);

$template->assign_vars(array(
	'L_PHPMN_NAME' => $lang['Name'],
	'L_PHPMN_DESCRIPTION' => $lang['Description'],
	'L_PHPMN_STATUS' => $lang['Status'],
	'L_PHPMN_EDIT' => $lang['Edit'])

);

//
// Generate the page
//
$template->pparse('phpmn');
Dann habe ich eine tpl Datei erstellt, welche natürlich im subSiler Ordner liegt:

Code: Alles auswählen

<table width="100%" cellspacing="0" cellpadding="2" border="0">
  <tr>
	<td><span class="gensmall">
	<!-- BEGIN switch_user_logged_in -->
	{LAST_VISIT_DATE}<br />
	<!-- END switch_user_logged_in -->
	{CURRENT_TIME}<br />
	</span><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a> -> <a href="{U_PHPMN}" class="nav">{L_PHPMN}</a></span></td>
  </tr>
</table>



<table align="center" class="forumline">
<th>{L_PHPMN_NAME}</th><th>{L_PHPMN_DESCRIPTION}</th><th>{L_PHPMN_STATUS}</th><th>{L_PHPMN_EDIT}</th>

	<tr>
		<td class="row1">{newsletter.NAME}</td>
		<td class="row1">{newsletter.DESCRIPTION}</td>
		<td class="row2" align="center"><b>&nbsp;&nbsp;{newsletter.TOPICAL}&nbsp;&nbsp;</b></td>
		<td class="row3">{newsletter.LINK}</td>
	</tr>

</table>
Leider kommen aber die Daten nicht in der tpl Datei an. Die Variablen werden in PHP Datei definitiv noch abgehandelt und gefüllt, was ich mit echo erfolgreich überprüft habe.

Gruß Martin

Verfasst: 13.08.2005 02:16
von Martin Truckenbrodt
Hallo,
der Inhalt der tpl Datei sieht jetzt so aus:

Code: Alles auswählen

<table width="100%" cellspacing="0" cellpadding="2" border="0">
	<tr>
		<td><span class="gensmall">
		<!-- BEGIN switch_user_logged_in -->
		{LAST_VISIT_DATE}<br />
		<!-- END switch_user_logged_in -->
		{CURRENT_TIME}<br />
		</span><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a> -> <a href="{U_PHPMN}" class="nav">{L_PHPMN}</a></span></td>
	</tr>
</table>



<table align="center" class="forumline">
<th>{L_PHPMN_NAME}</th><th>{L_PHPMN_DESCRIPTION}</th><th>{L_PHPMN_STATUS}</th><th>{L_PHPMN_EDIT}</th>

<!-- BEGIN newsletter -->
	<tr>
		<td class="row1">{newsletter.NAME}</td>
		<td class="row1">{newsletter.DESCRIPTION}</td>
		<td class="row2" align="center"><b>&nbsp;&nbsp;{newsletter.TOPICAL}&nbsp;&nbsp;</b></td>
		<td class="row3">{newsletter.LINK}</td>
	</tr>
</table>
<!-- END newsletter -->
Jetzt kommt eine Fehlermeldung: http://paludarium.pipidae.de/cgi/phpBB2/phpmn.php

Gruß Martin