Ik heb hier een script maaar het werkt wel als je een topic wil verwijderen dat kan ook maar dan krijg je een lijst Maar daar zou dan dus de namen van de topics moeten komen maar ik krijg dit:

http://img217.imageshack.us/img217/4489/topicveryt0.png

Er zou dus op die lege plekken de namen van het topic moeten staan... Maar als ik er 1 aanklik verwijderd het script er wel 1 topic..


script:


<?php
include("connect.php");
?>
<?
if(isset($_GET['del'])) {
 // Verwijderen
 if(is_numeric($_GET['del'])) {
  // Verwijderenuitvoeren
  $sql = "DELETE FROM topics WHERE id='".$_GET['del']."'";
  $query = mysql_query($sql);
  if($query == TRUE) {
   echo "Het topic ".$_GET[ 'del']." is succesvol verwijderd.<br />\n<a href=\"admins.php\">&laquo; Terug naar het beheer</a>";
  }else{
   echo "Er is iets fout gegaan bij het verwijderen van userID ".$_GET['del'].". <br />\n<a href=\"admins.php\">&laquo; Terug naar het beheer</a>";
  }
 }else{
  // Lijst
  ?>
  <HTML>
  <BODY>
  Welk topic wil je verwijderen?<br />
  <form method="get" action="admins.php">
   <table>
    <tr>
     <td><select name="del" size="1">
      <option value="">&nbsp;</option>
      <?
      $sql = "SELECT id,titel,datum FROM topics ORDER BY id DESC"; 
      $query = mysql_query($sql);
      while($rij = mysql_fetch_object($query)) {
       $id = htmlspecialchars($rij->id);
       $naam = htmlspecialchars($rij->naam);
       echo "<option value=\"".$id."\">".$naam."</option>\n";
      }
      ?></select>
     </td>
     <td><input type="submit" value="Verwijderen" /></td>
    </tr>
   </table>
  </form>
  </BODY>
  </HTML>
  <?
 }
}else{
 // Keuzelijst
 ?>
 Wat wilt u doen?<br />
 <ul>
  <a href="admins.php?edit=do">Bericht bewerken</a>
  <a href="admins.php?del=do">Topic verwijderen</a>
 </ul>
 <?
}

Die error_reporting had ik in het verkeerde php document gezet denk ik. Ik zal vortaan
 
tags gebruiken bedankt trouwens
zet de error_reporting gewoon in je connect.php
Oke dat heb ik gedaan connect.php ziet er dan ook zo uit:


<?php
error_reporting(E_ALL);
ini_set('display errors',1);
?> 
<? 
// mysql connectie
$user = "******";
$dbpass = "******";
$host = "localhost";
$dbdb = "test";

if (!mysql_select_db($dbdb, mysql_connect($host, $user, $dbpass)))
{
     echo "Database connectie mislukt.";
     exit();
}
?> 


En De admin pagina ziet er nu zo uit:

<?php
include("connect.php");
?>
<?
if(isset($_GET['del'])) {
 // Verwijderen
 if(is_numeric($_GET['del'])) {
  // Verwijderenuitvoeren
$sql = "SELECT id,naam,titel,datum FROM topics ORDER BY id DESC"; 
      $query = mysql_query($sql) or die (mysql_error());
      while($rij = mysql_fetch_assoc($query)) {
       echo '<option value="'.$rij['id'].'">'.$rij['naam'].'</option>'.PHP_EOL;
      }else{
   echo "Er is iets fout gegaan bij het verwijderen van userID ".$_GET['del'].". <br />\n<a href=\"admins.php\">&laquo; Terug naar het beheer</a>";
  }
 }else{
  // Lijst
  ?>
  <HTML>
  <BODY>
  Welk topic wil je verwijderen?<br />
  <form method="get" action="admins.php">
   <table>
    <tr>
     <td><select name="del" size="1">
      <option value="">&nbsp;</option>
      <?php
   $sql = "SELECT id,titel,datum FROM topics ORDER BY id DESC"; 
      $query = mysql_query($sql) or die (mysql_error());
      while($rij = mysql_fetch_assoc($query)) {
       echo '<option value="'.$rij['id'].'">'.$rij['naam'].'</option>'.PHP_EOL;
      }
      ?></select>
     </td>
     <td><input type="submit" value="Verwijderen" /></td>
    </tr>
   </table>
  </form>
  </BODY>
  </HTML>
  <?
 }
}else{
 // Keuzelijst
 ?>
 Wat wil je doen?<br />
 <ul>
  <li><a href="admins.php?edit=do">Bericht bewerken</a></li>
  <li><a href="admins.php?del=do">Topic verwijderen</a></li>
 </ul>

<?php
}
?>



En de pagina om een topic te plaatsen ziet er zo uit:


<?php
require("defaultforumtop.php");
?>

<html>
<title>Forum/Addtopic</title>
<body>
      <h1>Forum/Addtopic</h1>


<link rel="stylesheet" href="styles.css" type="text/css" media="screen">




<?

include("connect.php");
include("functions.php");

if ($_POST['submit'] && $_POST['na_am'] && $_POST['beri_cht'] && $_POST['tit_el'])
{ 
$datum = date("d.m.Y");
$_POST['beri_cht'] = filter($_POST['beri_cht']);

$sql = "INSERT INTO topics SET id = '', titel = '" . $_POST['tit_el'] . "', bericht = '" . $_POST['beri_cht'] . "', datum = '" . $datum . "', naam = '" . $_POST['na_am'] . "'";
$res = mysql_query($sql);

    if ($res) 
    {
    echo "Topic toegevoegd! Ga naar het <a href=\"topics.php\">topic overzicht</a>";
    }
    else
    {
    echo "Topic <b>niet</b> toegevoegd! Probeer het <a href=\"" . $PHP_SELF . "\">opnieuw</a>";
    }
}   
elseif ($_POST['submit'] || $_POST['na_am'] || $_POST['beri_cht'] || $_POST['tit_el'])
{
echo "Niet alle velden ingevult! Probeer het <a href=\"" . $PHP_SELF . "\">opnieuw</a>";
}
else
{
    
    echo "<center>";
    echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"5\" align=\"center\">";
    echo "<form method=\"POST\" action=\"" . $PHP_SELF . "\">";

   
    echo "<tr><td>Je naam:*</td></tr>";
    echo "<tr><td><input type=\"text\" name=\"na_am\"></td></tr>";

    
    echo "<tr><td> </td></tr>";
    
    
    echo "<tr><td>Titel:*</td></tr>";
    echo "<tr><td><input type=\"text\" name=\"tit_el\"></td></tr>";

    
    echo "<tr><td> </td></tr>";

    
    echo "<tr><td>Bericht:*</td></tr>";
    echo "<tr><td><textarea name=\"beri_cht\" rows=\"5\" cols=\"15\"></textarea></td></tr>";

    
    echo "<tr><td>Alle velden zijn verplicht! </td></tr>";

    
    echo "<tr><td><input type=\"submit\" name=\"submit\" value=\"Plaats!\" class=\"buttons\">&nbsp<input type=\"reset\" value=\"Wis\" class=\"buttons\"></td></tr>";
    
    
    echo "</form>";
    echo "</table>";
    echo "</center>";
}


?>

<?php
require("defaultforumdown.php");
?>


De fout die ik nu krijg bij admins.php omdat ik dat script heb veranderd:

En het feit waarom het niet werkt is iets heel simpels, maar wat je snel over het hoofd ziet. In je query vraag je naam niet op.
<?php
$sql = "SELECT id,naam,titel,datum FROM topics ORDER BY id DESC";
$query = mysql_query($sql) or die (mysql_error());
while($rij = mysql_fetch_assoc($query)) {
echo '<option value="'.$rij['id'].'">'.$rij['naam'].'</option>'.PHP_EOL;
}
?>


is:
Parse error: parse error, unexpected T_ELSE in C:\Program Files\xampp\htdocs\4ict\forum\admins.php on line 13

je doet 2 else na elkaar. Dat kan niet.

Ten eerste delete je niks, maar selecteer je alleen maar uit je database. Dus deze regels zou ik verwijder:
<?php
}else{
echo "Er is iets fout gegaan bij het verwijderen van userID ".$_GET['del'].". <br />\n<a href=\"admins.php\">&laquo; Terug naar het beheer</a>";
}
?>
OKe dat heb ik gedaan.
Nu komt er deze fout


Parse error: parse error, unexpected T_ELSE in C:\Program Files\xampp\htdocs\4ict\forum\admins.php on line 13

Die andere else is dus ook iets mee?
Ik weet het probleem al ik had 2 stukjes door elkaar gehaald Het verwijderen en het laten zien van de topics maar nu werkt het goed!

Reageren