Hallo allemaal
ik ben nu ongeveer 2 weken bezig om dit script helemaal werkend te krijgen en dat is me redelijk gelukt.. alles is zo ongeveer fixed. en tot nu (vanmiddag) waren alle fouten eruit.. alleen zo uit het niets.. komt er een foutmelding als ik een topic probeer te plaatsen:
mijn php code:
PHP
<?php
require_once 'functions/forum.func.php';
if(!$is_user){ message('error','Uhm?','Je moet inloggen om een nieuw topic te plaatsen! <a href="/leden/inloggen/">Inloggen?</a>');}else{
$if_id = (isset($_GET['id']) && !empty($_GET['id'])) ? filter_escape($_GET['id']) : '';
if(empty($if_id)){ // query $sql_forums = "SELECT id,name,head,vip FROM forum_categorys WHERE disabled = '0' AND head = '0' ORDER BY id ASC"; // Errors hier? if(!$qForum = mysql_query($sql_forums)) { database_error(); } else { // Niks gevonden if(!mysql_num_rows($qForum) > 0) { message('error','Sorry!','Er bestaan nog geen Forum Categorieën'); } else { echo '<h1>Nieuw Topic Maken</h1>'; echo '<div class="cwrap">'; //gevonden while($row = mysql_fetch_assoc($qForum)) { // Query subs $get_sub = "SELECT id,name,description,icon FROM forum_categorys WHERE head = '".$row['id']."' ORDER BY id ASC"; // Error if(!$qSub = mysql_query($get_sub)) { database_error(); } else { // Niks gevonden if(mysql_num_rows($qSub) > 0) { // output content zonder while echo '<h2>'.$row['name'].'</h2>';
echo '<div style="margin-left:15px;">'; echo '<table class="fullc">';
//loop while($sow = mysql_fetch_assoc($qSub)) { echo '<tr>'; echo '<td style="width:100%;font-size:12px;font-weight:bold;" ><a href="/forum/nieuw/'.$sow['id'].'/">'.$sow['name'].'<br /><span style="font-weight:normal; font-size:10px;">'.$sow['description'].'</span></a></td>'; echo '</tr>'; } // output geen content echo '</table>'; echo '</div>'; } } } echo '</div>'; } } }else{ $sql_select = "SELECT id,name,vip,moderation,disabled FROM forum_categorys WHERE id = '".$if_id."' AND head != '0' LIMIT 1 "; if(!$qSelect = mysql_query($sql_select)) { database_error(); } else { if(!mysql_num_rows($qSelect) > 0) { message('error','Whoeps?','Deze Categorie bestaat niet!'); } else { while($row = mysql_fetch_assoc($qSelect)) { $cat_vip = filter_entities($row['vip']); $cat_mod = filter_entities($row['moderation']); $cat_off = filter_entities($row['disabled']); $cat_name = filter_entities($row['name']); $cat_id = filter_entities($row['id']); if($cat_vip == '1' && !$is_vip || $cat_mod == '1' && !$is_mod || $cat_off == '1') { message('warning','Uhm?','Je hebt geen rechten om in deze categorie te posten!'); } else { $error = array(); // Uitvoeren als er een topic word geplaatst. if($_SERVER['REQUEST_METHOD'] == 'POST') { // veilige inputs $post_titel = filter_escape($_POST['titel']); $post_onderwerp = filter_escape($cat_id); $post_bericht = filter_escape($_POST['bericht']); // mySQL query om te checken of 15 minuten before topic heeft gepost $check_last_topic = mysql_query("SELECT id FROM forum_topics WHERE postdate > '".(time()-600)."' AND user = '".filter_escape($cur_user)."' LIMIT 1"); // Error in database if(!$check_last_topic) { database_error(); } // Errors controleren if(mysql_num_rows($check_last_topic) > 0 && !$is_mod) { $error['1'] = 'Je mag Maximaal 1 topic per 10 minuten plaatsen!'; } if(strlen($post_titel) < 5 || strlen($post_titel) > 30 && empty($error['1'])) { $error['2'] = 'Je topictitel moet Min. 5 en mag Max. 30 Characters bevatten!'; } if(strlen($post_bericht) < 20 || strlen($post_bericht) > 3000 && !empty($error['1'])) { $error['3'] = 'Je Topic moet Min. 20 en mag Max. 3000 Characters bevatten!'; } // Geen errors if(!count($error) > 0) { // Topic toevoegen $insert_topic = mysql_query("INSERT INTO forum_topics (id,title,message,postdate,category,user,last_update) VALUES('0','".$post_titel."','".$post_bericht."','".time()."','".$post_onderwerp."','".filter_escape($cur_user)."','".time()."') "); // Er is een database error onstaan if(!$insert_topic) { echo mysql_error(); database_error(); } else { $last_id = mysql_insert_id(); message('succes','Succesvol geplaatst','Je topic is succesvol geplaatst'); insertEvent($cur_user,'heeft een topic geplaatst!','/forum/topic/'.$last_id.'/'.trans_name($post_titel).'/'); header('refresh:3; url=/forum/topic/'.$last_id.'/'.trans_name($post_titel).'/'); } } } // niks ingevult of error! if(count($error) > 0 || $_SERVER['REQUEST_METHOD'] !== 'POST') { ?> <h1>Een nieuwe Topic starten</h1><div class="cwrap">
<?php if($_SERVER['REQUEST_METHOD'] == 'POST' && count($error) > 0) { echo '<div class="errorbox">'; echo '<p style="font-weight:bold;">Er zijn een aantal fouten opgetreden:</p><ol>'; foreach($error as $errors) { echo '<li>'.$errors.'</li>'; } echo '<ol></div>'; } ?>
<div id="stylized" class="cform"><form id="form" name="form" method="post" action=""> <label>Topic Titel<span class="small">Titel van je topic</span></label><input type="text" name="titel" id="titel" tabindex="1" value="" /><label>Categorie<span class="small">Waar post je hem?</span></label><input type="text" value="<?php echo $cat_name; ?>" style="border:none; font-size:16px; font-weight:bold;" readonly="readonly"/>
<?php bb_emoticons(); ?><textarea id="markItUp" cols="80" rows="20"></textarea></div><button type="submit" style="float: right; margin-right:40px; margin-top:-10px;">Topic plaatsen</button></form>
</div> <?php } } } } } }
}
?>
Toon Meer
ik heb dit script nooit eerder aangepast en heeft ook altijd gewoon gewerkt!
edit: ik vind het trouwens raar dat de php functie (bbcode)
het script scheeftrekt.. voor mensen die het script normaal willen bekijken. heb ik een bijlage toegevoegd.