Update en Delete wilt maar niet lukken..Help:(

Status
Niet open voor verdere reacties.

Genco

Gebruiker
Lid geworden
29 mei 2008
Berichten
28
Hallo allemaal,

Ik werk al een week met php en mysql tot nu toe ging alles goed totdat ik ergens vast kwam te zitten.

De probleem ligt bij een functie die ik wil toepassen aan een tabel waarbij men een vacature kan verwijderen, dus eigenlijk moet er gegevens verwijderd worden uit een tabel.

Ik heb gelezen dat je eerst een "delete.php" moet maken voordat je de overige codes kan toevoegen aan je tabel ofzo.

Is het mogelijk dat jullie mij willen helpen met het uitvissen van de fouten die in het script staan?

Bij deze script kan men bestaande vacatures wijzigen. En de bedoeling is dat er achter elk vacature "verwijder" moet staan.
PHP:
<?php require_once('../connections/connect.php'); ?><?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$currentPage = $_SERVER["PHP_SELF"];

mysql_select_db($database_connect, $connect);
$query_contact = "SELECT * FROM contact";
$contact = mysql_query($query_contact, $connect) or die(mysql_error());
$row_contact = mysql_fetch_assoc($contact);
$totalRows_contact = mysql_num_rows($contact);

mysql_select_db($database_connect, $connect);
$query_author = "SELECT author.anaam, author.aachternaam, author.aemail FROM author";
$author = mysql_query($query_author, $connect) or die(mysql_error());
$row_author = mysql_fetch_assoc($author);
$totalRows_author = mysql_num_rows($author);

mysql_select_db($database_connect, $connect);
$query_gebruikers = "SELECT * FROM gebruikers WHERE gebruikers.status = 1";
$gebruikers = mysql_query($query_gebruikers, $connect) or die(mysql_error());
$row_gebruikers = mysql_fetch_assoc($gebruikers);
$totalRows_gebruikers = mysql_num_rows($gebruikers);

mysql_select_db($database_connect, $connect);
$query_contactpersoon = "SELECT * FROM contactpersoon WHERE contactpersoon.id ORDER BY contactpersoon.naam";
$contactpersoon = mysql_query($query_contactpersoon, $connect) or die(mysql_error());
$row_contactpersoon = mysql_fetch_assoc($contactpersoon);
$totalRows_contactpersoon = mysql_num_rows($contactpersoon);

mysql_select_db($database_connect, $connect);
$query_categorie = "SELECT * FROM categories WHERE categories.categorie_id ORDER BY categories.categorie_name";
$categorie = mysql_query($query_categorie, $connect) or die(mysql_error());
$row_categorie = mysql_fetch_assoc($categorie);
$totalRows_categorie = mysql_num_rows($categorie);

mysql_select_db($database_connect, $connect);
$query_contract = "SELECT * FROM contract WHERE contract.contract_id ORDER BY contract.contract_name";
$contract = mysql_query($query_contract, $connect) or die(mysql_error());
$row_contract = mysql_fetch_assoc($contract);
$totalRows_contract = mysql_num_rows($contract);

$maxRows_vacatures = 10;
$pageNum_vacatures = 0;
if (isset($_GET['pageNum_vacatures'])) {
  $pageNum_vacatures = $_GET['pageNum_vacatures'];
}
$startRow_vacatures = $pageNum_vacatures * $maxRows_vacatures;

mysql_select_db($database_connect, $connect);
$query_vacatures = "SELECT * FROM vacatures ORDER BY vacatures.datum";
$query_limit_vacatures = sprintf("%s LIMIT %d, %d", $query_vacatures, $startRow_vacatures, $maxRows_vacatures);
$vacatures = mysql_query($query_limit_vacatures, $connect) or die(mysql_error());
$row_vacatures = mysql_fetch_assoc($vacatures);

if (isset($_GET['totalRows_vacatures'])) {
  $totalRows_vacatures = $_GET['totalRows_vacatures'];
} else {
  $all_vacatures = mysql_query($query_vacatures);
  $totalRows_vacatures = mysql_num_rows($all_vacatures);
}
$totalPages_vacatures = ceil($totalRows_vacatures/$maxRows_vacatures)-1;

$queryString_vacatures = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_vacatures") == false && 
        stristr($param, "totalRows_vacatures") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_vacatures = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_vacatures = sprintf("&totalRows_vacatures=%d%s", $totalRows_vacatures, $queryString_vacatures);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Detasource - flexible solutions</title>
<link href="../css/detasourcestyle.css" rel="stylesheet" type="text/css" />

<script src="../scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<style type="text/css">
<!--
.style1 {font-weight: bold}
.style2 {color: #000000}
-->
</style>
</head>

<body>

<div class="body" id="wrapper_lang">
<div class="blok" id="topmenu1"></div>
<div id="logo"></div>
<div id="pointermenu">
    <ul>
      <li><a href="../index.php" target="_self">Home</a></li>
      <li><a href="../php/grotejongen.php" target="_self">hallo</a></li>
      <li><a href="../php/vacatures.php" target="_self" id="selected">Vacatures</a></li>
      <li><a href="../php/contact_route.php" target="_self">Contact</a></li>
      <li><a href="#" target="_self" id="rightcorner">&nbsp;</a></li>
    </ul>
</div>
<div id="menu">
<div id="content4"></div>
</div>
<div class="content_vactures" id="content_vacatures">
  <h1 align="left" class="content1_h1">NIEUWE VACATURE TOEVOEGEN</h1>
  <p align="left" class="content1_h1">&nbsp;
  <table border="1" align="center">
    <tr>
      <td>id</td>
      <td>datum</td>
      <td>functie</td>
      <td>verwijderen</td>
      
    </tr>
    <?php do { ?>
    
      <tr>
        <td><a href="update_vacatures.php?recordID=<?php echo $row_vacatures['id']; ?>"><?php echo $row_vacatures['id']; ?></a></td>
        <td><a href="update_vacatures.php?recordID=<?php echo $row_vacatures['id']; ?>"><?php echo $row_vacatures['datum']; ?></a></td>
        <td><a href="update_vacatures.php?recordID=<?php echo $row_vacatures['id']; ?>"><?php echo $row_vacatures['functie']; ?></a></td>
        <td><a href="verwijderen_vacatures.php?ID=" .$row_vacatures['id'] . 
        "\">Verwijder</a>" .
        "</td></tr>\n ");
      </tr>
      <?php } while ($row_vacatures = mysql_fetch_assoc($vacatures)); ?>
  </table>
  <br />
  <table border="0">
    <tr>
      <td><?php if ($pageNum_vacatures > 0) { // Show if not first page ?>
            <a href="<?php printf("%s?pageNum_vacatures=%d%s", $currentPage, 0, $queryString_vacatures); ?>">First</a>
            <?php } // Show if not first page ?>
      </td>
      <td><?php if ($pageNum_vacatures > 0) { // Show if not first page ?>
            <a href="<?php printf("%s?pageNum_vacatures=%d%s", $currentPage, max(0, $pageNum_vacatures - 1), $queryString_vacatures); ?>">Previous</a>
            <?php } // Show if not first page ?>
      </td>
      <td><?php if ($pageNum_vacatures < $totalPages_vacatures) { // Show if not last page ?>
            <a href="<?php printf("%s?pageNum_vacatures=%d%s", $currentPage, min($totalPages_vacatures, $pageNum_vacatures + 1), $queryString_vacatures); ?>">Next</a>
            <?php } // Show if not last page ?>
      </td>
      <td><?php if ($pageNum_vacatures < $totalPages_vacatures) { // Show if not last page ?>
            <a href="<?php printf("%s?pageNum_vacatures=%d%s", $currentPage, $totalPages_vacatures, $queryString_vacatures); ?>">Last</a>
            <?php } // Show if not last page ?>
      </td>
    </tr>
  </table>
  Records <?php echo ($startRow_vacatures + 1) ?> to <?php echo min($startRow_vacatures + $maxRows_vacatures, $totalRows_vacatures) ?> of <?php echo $totalRows_vacatures ?>
  </p>
</div>
<div class="blok" id="topmenu2"></div>
<div class="bottummenu" id="bottummenu_laag">
<table class="bottummenu">
<tr>
	<td width="" height="20"><span class="style1">© 2008 by <?php echo $row_author['anaam']; ?> <?php echo $row_author['aachternaam']; ?></span></td>
    <td width="" height="20"><span class="style1">|</span></td>
    <td width="" height="20"><span class="style1">E-mail: <a 
      href="***;jeweetzelf@anti.nl?subject= Je weet zelf">Antonio</a></span></td>
    <td width="" height="20"><span class="style1">|</span></td>
    <td width="" height="20"><span class="style1">Telefoon: +31 (0) 16666</span></td>
</tr>
</table>
</div>
</div>
</body>
</html>
<?php
mysql_free_result($author);

mysql_free_result($gebruikers);

mysql_free_result($contactpersoon);

mysql_free_result($categorie);

mysql_free_result($contract);

mysql_free_result($vacatures);

mysql_free_result($contact);
?>

Deze is de verwijderen_vacatures.php, ik heb het zowat overgenomen van mijn basiscursus php5 boek.

Ik krijg deze fout te zien "Parse error: syntax error, unexpected '<' in C:\Documents and Settings\jean\Desktop\Detasource\Kopie van UsbWebserver\Root\source\admin\verwijderen_vacatures.php"

PHP:
<?php
// verbinding met database invoegen
require_once('../connections/connect.php');

// controleren of pagina zichzelf heeft aangeroepen
// via hidden-field uit het formulier
if (isset($_POST["bevestiging"])){
		$query="DELETE FROM vacatures WHERE id=" .$_POST["id"];
		$result = mysql_query($db, $query) or die ("FOUT: ".
		mysql_error());
		echo("De volgende opdracht is uitgevoerd: <b>$query</b><br>\n");
		if ($result){
				echo ("Record nummer " .$_POST["id"] . " is verwijderd<br>\n");
				echo ("<a href=\"../admin/update_selectie.php\">Terug naar het overzicht</a>");
				}
			}else{
					// pagina heeft zichzelf nog niet aangeroepen,
					// eerst om bevestiging vragen
					$query_vacatures="SELECT * FROM vacatures WHERE id=" .$_GET["id"];
					$result = mysql_query($db, $query) or die ("FOUT: " .
					mysql_error());
?>

<html>
<head>
	<title>Verwijderen: weet u het zeker?</title>
</head>
<body>
<h2>Let op: wit u deze gegevens verwijderen?</h2>
<?php
while ($row = mysql_fetch_array($result)){
		echo("ID = " .$row['id'] . "<br>\n");
		echo("Datum = ".$row['datum'] . "<br>\n");
		echo("Functie = ".$row['functie'] . "<br><hr>\n");
}?>
<form action="<?php echo($_SERVER["PHP_SELF"]);?>"method="post">
	  <input type="hidden" name="bevestiging" value="1">
      <input type="hidden" name="id" value="<?php echo($_GET["id"]);?>">
      <input type="Submit" value="Ja, verwijderen">
      <input type="Button" value="Nee, terug" onclick="javascript:history.back();">
</form>
<?php
// else-blok correct afsluiten
}
</body>
</html>
 
Ik krijg deze fout te zien "Parse error: syntax error, unexpected '<' in C:\Documents and Settings\jean\Desktop\Detasource\Kopie van UsbWebserver\Root\source\admin\verwijderen_vacatures.php"

als je deze fout krijgt heb je waarschijnlijk een aantal regels niet goed afgesloten met een ;

bijvoorbeeld hier:
PHP:
Records <?php echo ($startRow_vacatures + 1) ?> to <?php echo min($startRow_vacatures + $maxRows_vacatures, $totalRows_vacatures) ?> of <?php echo $totalRows_vacatures ?>

moet dit zijn:
PHP:
Records <?php echo ($startRow_vacatures + 1); ?> to <?php echo min($startRow_vacatures + $maxRows_vacatures, $totalRows_vacatures); ?> of <?php echo $totalRows_vacatures; ?>
 
als je deze fout krijgt heb je waarschijnlijk een aantal regels niet goed afgesloten met een ;

bijvoorbeeld hier:
PHP:
Records <?php echo ($startRow_vacatures + 1) ?> to <?php echo min($startRow_vacatures + $maxRows_vacatures, $totalRows_vacatures) ?> of <?php echo $totalRows_vacatures ?>

moet dit zijn:
PHP:
Records <?php echo ($startRow_vacatures + 1); ?> to <?php echo min($startRow_vacatures + $maxRows_vacatures, $totalRows_vacatures); ?> of <?php echo $totalRows_vacatures; ?>

hey bedankt voor je reactie.

Ik heb nog even goed gekeken en heb wat dingen veranderd, maar nu krijg ik de volgende fout "Fatal error: Call to undefined function sqlite_query() ". Wat houd dit in?

Alvast bedankt
 
"Fatal error: Call to undefined function sqlite_query() " betekend dat de functie niet gedefineerd is. Voor meer informatie zie: http://nl3.php.net/manual/en/function.sqlite-query.php

Even een vraagje, gebruik je wel echt een sqlite database, of heb je een mysql database?

Nu je het zegt..

Mysql...

Ik heb een verwijder.php letterlijk overgenomen van basiscursus php5 en daar staat sqlite:S heb het geprobeerd te veranderen naar mysql maar dat werkte totaal niet.. Ik probeer een verwijder.php te maken, maar het wilt maar niet lukken...
 
kan je sqlite_query() niet gewoon veranderen in mysql_query()?
 
kan je sqlite_query() niet gewoon veranderen in mysql_query()?

heb ik gedaan en krijg nu de volgende fouten...

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Documents and Settings\gaskin\Desktop\Detasource\Kopie van UsbWebserver\Root\detasource\admin\verwijderen_vacatures.php on line 20

Fatal error: Call to undefined function sqlite_last_error() in C:\Documents and Settings\gaskin\Desktop\Detasource\Kopie van UsbWebserver\Root\detasource\admin\verwijderen_vacatures.php on line 21
PHP:
<?php
// verbinding met database invoegen
require_once('../connections/connect.php');

// controleren of pagina zichzelf heeft aangeroepen
// via hidden-field uit het formulier
if (isset($_POST["bevestiging"])){
		$query="DELETE FROM vacatures WHERE id=" .$_POST["id"];
		$result = mysql_query($db, $query) or die ("FOUT: ".
		mysql_error());
		echo("De volgende opdracht is uitgevoerd: <b>$query</b><br>\n");
		if ($result){
				echo ("Record nummer " .$_POST["id"] . " is verwijderd<br>\n");
				echo ("<a href=\"../admin/update_selectie.php\">Terug naar het overzicht</a>");
				}
			}else{
					// pagina heeft zichzelf nog niet aangeroepen,
					// eerst om bevestiging vragen
					$query="SELECT * FROM vacatures WHERE id=" .$_GET["id"];
					$result = mysql_query($db, $query) or die ("FOUT: " .
					sqlite_last_error());
?>

<html>
<head>
	<title>Verwijderen: weet u het zeker?</title>
</head>
<body>
<h2>Let op: wit u deze gegevens verwijderen?</h2>
<?php
while ($row = sqlite_fetch_array($result)){
		echo("ID = " .$row['id'] . "<br>\n");
		echo("Datum = ".$row['datum'] . "<br>\n");
		echo("Functie = ".$row['functie'] . "<br><hr>\n");
}?>
<form action="<?php echo($_SERVER["PHP_SELF"]);?>"method="post">
	  <input type="hidden" name="bevestiging" value="1">
      <input type="hidden" name="id" value="<?php echo($_GET["id"]);?>">
      <input type="Submit" value="Ja, verwijderen">
      <input type="Button" value="Nee, terug" onClick="javascript:history.back();">
</form>
<?php
// else-blok correct afsluiten[
}?>
</body>;
</html>;
 
PHP:
<?php 
// verbinding met database invoegen 
require_once('../connections/connect.php'); 

// controleren of pagina zichzelf heeft aangeroepen 
// via hidden-field uit het formulier 
if (isset($_POST["bevestiging"])){ 
        $query="DELETE FROM vacatures WHERE id=" .$_POST["id"]; 
        $result = mysql_query($query) or die ("FOUT: ". 
        mysql_error()); 
        echo("De volgende opdracht is uitgevoerd: <b>$query</b><br>\n"); 
        if ($result){ 
                echo ("Record nummer " .$_POST["id"] . " is verwijderd<br>\n"); 
                echo ("<a href=\"../admin/update_selectie.php\">Terug naar het overzicht</a>"); 
                } 
            }else{ 
                    // pagina heeft zichzelf nog niet aangeroepen, 
                    // eerst om bevestiging vragen 
                    $query="SELECT * FROM vacatures WHERE id=" .$_GET["id"]; 
                    $result = mysql_query($query) or die ("FOUT: " . 
                    mysql_error()); 
?> 

<html> 
<head> 
    <title>Verwijderen: weet u het zeker?</title> 
</head> 
<body> 
<h2>Let op: wit u deze gegevens verwijderen?</h2> 
<?php 
while ($row = mysql_fetch_array($result)){ 
        echo("ID = " .$row['id'] . "<br>\n"); 
        echo("Datum = ".$row['datum'] . "<br>\n"); 
        echo("Functie = ".$row['functie'] . "<br><hr>\n"); 
}?> 
<form action="<?php echo($_SERVER["PHP_SELF"]);?>"method="post"> 
      <input type="hidden" name="bevestiging" value="1"> 
      <input type="hidden" name="id" value="<?php echo($_GET["id"]);?>"> 
      <input type="Submit" value="Ja, verwijderen"> 
      <input type="Button" value="Nee, terug" onClick="javascript:history.back();"> 
</form> 
<?php 
// else-blok correct afsluiten[ 
} ?> 
</body>
</html>
Probeer het zo eens.
 
PHP:
<?php 
// verbinding met database invoegen 
require_once('../connections/connect.php'); 

// controleren of pagina zichzelf heeft aangeroepen 
// via hidden-field uit het formulier 
if (isset($_POST["bevestiging"])){ 
        $query="DELETE FROM vacatures WHERE id=" .$_POST["id"]; 
        $result = mysql_query($query) or die ("FOUT: ". 
        mysql_error()); 
        echo("De volgende opdracht is uitgevoerd: <b>$query</b><br>\n"); 
        if ($result){ 
                echo ("Record nummer " .$_POST["id"] . " is verwijderd<br>\n"); 
                echo ("<a href=\"../admin/update_selectie.php\">Terug naar het overzicht</a>"); 
                } 
            }else{ 
                    // pagina heeft zichzelf nog niet aangeroepen, 
                    // eerst om bevestiging vragen 
                    $query="SELECT * FROM vacatures WHERE id=" .$_GET["id"]; 
                    $result = mysql_query($query) or die ("FOUT: " . 
                    mysql_error()); 
?> 

<html> 
<head> 
    <title>Verwijderen: weet u het zeker?</title> 
</head> 
<body> 
<h2>Let op: wit u deze gegevens verwijderen?</h2> 
<?php 
while ($row = mysql_fetch_array($result)){ 
        echo("ID = " .$row['id'] . "<br>\n"); 
        echo("Datum = ".$row['datum'] . "<br>\n"); 
        echo("Functie = ".$row['functie'] . "<br><hr>\n"); 
}?> 
<form action="<?php echo($_SERVER["PHP_SELF"]);?>"method="post"> 
      <input type="hidden" name="bevestiging" value="1"> 
      <input type="hidden" name="id" value="<?php echo($_GET["id"]);?>"> 
      <input type="Submit" value="Ja, verwijderen"> 
      <input type="Button" value="Nee, terug" onClick="javascript:history.back();"> 
</form> 
<?php 
// else-blok correct afsluiten[ 
} ?> 
</body>
</html>
Probeer het zo eens.

hey bedankt voor je reactie...

ik krijg nu de volgende fout

"Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Documents and Settings\genc\Desktop\Detasource\Kopie van UsbWebserver\Root\source\admin\verwijderen_vacatures.php on line 20
FOUT:"
 
Wat is de inhoud van connections/connect.php? (Waarschijnlijk inloggegevens, dus niet zomaar hier plaatsen ;))
 
Wat is de inhoud van connections/connect.php? (Waarschijnlijk inloggegevens, dus niet zomaar hier plaatsen ;))

hehe dat had ik ook wel door hoor:D:D

PHP:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_connect = "localhost";
$database_connect = "***";
$username_connect = "***";
$password_connect = "***";
$connect = mysql_pconnect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR); 
?>
 
PHP:
<?php
# FileName="Connection_php_mysql.htm" 
# Type="MYSQL" 
# HTTP="true" 
$hostname_connect = "localhost"; 
$database_connect = "***"; 
$username_connect = "***"; 
$password_connect = "***"; 
$connect = mysql_pconnect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR);

$db = mysql_select_db($database_connect, $connect) or trigger_error("De database kan niet worden bereikt.");
?>
Tja als je geen database selecteert gebeurt er niet veel ;)
 
PHP:
<?php
# FileName="Connection_php_mysql.htm" 
# Type="MYSQL" 
# HTTP="true" 
$hostname_connect = "localhost"; 
$database_connect = "***"; 
$username_connect = "***"; 
$password_connect = "***"; 
$connect = mysql_pconnect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR);

$db = mysql_select_db($database_connect, $connect) or trigger_error("De database kan niet worden bereikt.");
?>
Tja als je geen database selecteert gebeurt er niet veel ;)

wat bedoel je precies? waar zie je dat ik geen database heb geselecteerd?
 
Je had de functie mysql_select_db() niet gebruikt ;) (Daarnaast hoef je niet te quoten wanneer er niemand anders tussendoor gereageerd heeft. Anders slijt mijn scrollknop zo snel ;))
 
aha, wat doet zoiets precies dan?

en hoe moet ik zoiets erin zetten?
 
Ik heb het voor je in de code onderaan toegevoegd.

Wat het doet? Lijkt mij vanzelfsprekend. Het selecteert de database welke jij wilt gebruiken op de server.
 
ik krijg nu de volgende fout te zien

"FOUT: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"
 
Dat gaat om deze regel?
PHP:
$query="DELETE FROM vacatures WHERE id=" .$_POST["id"];

Volgens mij zou hij het moeten doen maar je zou dit kunnen proberen
PHP:
$query= "DELETE FROM vacatures WHERE id='". $_POST['id'] ."'";
 
Zet anders na de regel eens
PHP:
echo $query;
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan