Nieuwe admin page

Zelf bezig aan een modificatie? Wij kijken graag mee..
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Nieuwe admin page

Bericht door Drekslet » 10 jan 2007, 15:14

Yo,

Ik heb een extra admin page gemaakt zodat mensen (admins) nieuws berichten kunnen toevoegen op de main site. Die page toevoegen lukt allemaal wel maar nu ben ik bezig met de scripts voor de pagina zelf:

Hier Code:

Code: Selecteer alles

<?php
define('IN_PHPBB', 1); 

if( !empty($setmodules) ) 
{ 
   $filename = basename(__FILE__); 
   $module['Site']['Add_news'] = $filename; 

   return; 
}

// 
// Load default header 
// 

$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);

switch($mode) {
		case 'delete':
			if( isset($HTTP_GET_VARS['id']) ) {
			$sql = "DELETE FROM News WHERE ID='". intval($HTTP_GET_VARS['id'])  ."' LIMIT 1";
			}
			
			if( !$db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Failed to delete news message", "", __LINE__, __FILE__, $sql);
			}	
			break;
}

		if( $HTTP_POST_VARS['submit'] ) {

		if(($HTTP_POST_VARS['form_title']) AND ($HTTP_POST_VARS['form_message'])) {
			
			$date = date("d-m");
			$message = stripslashes(trim($HTTP_POST_VARS['message']));
			$news_title = stripslashes(trim($HTTP_POST_VARS['news_title']));
			
			$sql = "INSERT INTO News (title, message, user, date) VALUES ('" . str_replace("\'", "''", $news_title) . "','" . str_replace("\'", "''", $message) . "','" . str_replace("\'", "''", $form_user) . "','" . str_replace("\'", "''", $date) . "')";
			
			if ( !($result = $db->sql_query($sql, BEGIN_TRANSACTION)) )
			{
				message_die(GENERAL_ERROR, 'Failed to insert news message', '', __LINE__, __FILE__, $sql);
			}
			
//			if( isset($HTTP_POST_VARS['submit']) )
//			{
//			$message = $lang['Config_updated'] . "<br /><br />" . sprintf($lang['Click_return_config'], "<a href=\"" . append_sid("admin_add_news.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
//
//			message_die(GENERAL_MESSAGE, $message);
//			}
			
		} else {
		
		message_die(GENERAL_ERROR, "Failed to insert news message", "", __LINE__, __FILE__, $sql);
		
		}
		
		}

$template->set_filenames(array(
	'body' => 'admin/news_add.tpl')
);

$template->assign_vars(array(
	'S_FORUM_ACTION' => append_sid("admin_add_news.$phpEx"),
	'L_NEWS_TITLE' => $lang['News_admin'], 
	'L_NEWS_EXPLAIN' => $lang['News_admin_explain'], 
	'L_DELETE' => $lang['Delete'],
	'L_NEWS_TITLE' => $lang['News_title'],
	'L_NEWS_MESSAGE' => $lang['News_message'],
	'S_SUBMIT_VALUE' => $lang['Submit'],
	
	'MESSAGE' => $message,
	'NEWS_TITLE' => $news_title)
);

$template->pparse('body');

include('./page_footer_admin.'.$phpEx);


?>
Hij werkt alleen niet, ik zie alles wel helemaal goed enzo maar als ik op submit druk zonder iets in te vullen krijg ik

Code: Selecteer alles

Failed to insert news message

DEBUG MODE

SELECT * FROM Forum_config

Line : 58
File : admin_add_news.php
en als ik gewoon alles invul dan gebeurd er helemaal niks :?
Ziet iemand wat ik vergeten ben, of wat ik fout heb gedaan ?


Greetz

Dré
Drek, Slet!

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 10 jan 2007, 18:06

Bouw een check in dat de query niet wordt uitgevoerd als de lengte van het nieuwsbericht 0 is.

Moet dit trouwens niet in MOD Ontwikkeling?
... Maar ik modereer (nog) niet.

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 10 jan 2007, 18:08

Wat bedoel je met de lengte van het nieuwsbericht 0 als ik vragen mag :roll:

En owja oops verkeerde forum staan, als een moderator zo vriendelijk zou willen zijn dit topicje even te verplaatsen :bier:
Drek, Slet!

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 10 jan 2007, 18:10

Dat de tekenlengte van het nieuwsbericht dus 0 of niets of '' is.
... Maar ik modereer (nog) niet.

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 10 jan 2007, 18:11

Maar dat heb ik toch ? :?

Code: Selecteer alles

if(($HTTP_POST_VARS['form_title']) AND ($HTTP_POST_VARS['form_message'])) { 
of bedoel je soms wat anders ?
Drek, Slet!

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 10 jan 2007, 18:13

Die velden worden bij een formulier toch ook verzonden als er niets in staat, of niet soms :wink: Dat is dus niet voldoende.
... Maar ik modereer (nog) niet.

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 10 jan 2007, 18:14

Ow je bedoelt

Code: Selecteer alles

$message = '';
$news_title = '';
Drek, Slet!

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 10 jan 2007, 18:15

maar dan in een if-constructie.
... Maar ik modereer (nog) niet.

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 10 jan 2007, 18:16

maar ik zie eigelijk het nut er nog niet van in, wat doet dat dan precies ? :?:
Drek, Slet!

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 10 jan 2007, 18:17

Alleen de code uitvoeren als het veld niet leeg is misschien?

Alleen gebruiken we dan niet = maar !=.
... Maar ik modereer (nog) niet.

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 10 jan 2007, 18:19

maar dan zou dit toch precies hetzelfde moeten doen

Code: Selecteer alles

if(($HTTP_POST_VARS['form_title']) AND ($HTTP_POST_VARS['form_message'])) {
Drek, Slet!

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 10 jan 2007, 18:19

Dat heb ik net toch uitgelegd? Een formulierveld wordt altijd opgestuurd, ook als het leeg is.
... Maar ik modereer (nog) niet.

Drekslet
Berichten: 39
Lid geworden op: 20 jul 2006, 12:30

Bericht door Drekslet » 10 jan 2007, 18:22

ow verrek ik snap hem,, dus het moet zijn

Code: Selecteer alles

if(($HTTP_POST_VARS['form_title'] != '') AND ($HTTP_POST_VARS['form_message'] != '')) {
als dit fout is snap ik er dus helemaal niks van
Drek, Slet!

Gesloten