Toon posts:

Delete image met unlink

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

Verwijderd

Topicstarter
Dag Allemaal,

ik probeer door het onderstaande script een image uit een database te verwijderen tegelijk met de rest van de gegevens met de dezelfde id. Alleen ik krijg de volgende foutmelding.

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/html/il/tekoop/verwijdertk.php on line 14

<?php
include("tkconnect.php");
include("../inc_log.php");
?>

<html>
<head>
<title>Verwijderen</title>
<?php

if (isset($_POST["bevestiging"])){
//$bestand = "$img";
$select_img = mysql_query ("SELECT img FROM tekoop WHERE id='$_POST['id']' ");

$img = mysql_result($select_img,"img");
$img_p = "fotos/$img";

unlink($img_p);

$query="DELETE FROM tekoop WHERE id='" .$_POST["id"] ."'";
$result = mysql_query($query) or die ("FOUT : ". mysql_error());

if ($result){
echo ("<p class=\"text4\">Item " .$_POST["artikel"] . " is verwijderd<br><br>\n");
echo ("<a href=\"tkoverzicht.php\">naar overzicht</p></a>");
}
}else{

$query="SELECT * FROM tekoop WHERE id='" .$_GET["id"]."'";
$result = mysql_query($query) or die ("FOUT: " .mysql_error());
?>

</head>
<body>
<h2 class="text3">Gegevens verwijderen?</h2>
<?php
while (list($id, $artikel, $beschr, $img) =
mysql_fetch_row($result)){
echo("<p class=\"text4\">ID: $id<br>
Artikel: $artikel<br>
Beschrijving: $beschr<br>
Foto: $img<br></p>
<hr>");
}?>
<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="verwijderen">
<input type="Button" value="terug"
onclick="javascript:history.back();">
</form>
<?php
// else-blok correct afsluiten
}
?>
</body>
</html>

Wat doe ik dan fout?

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 21:13

MueR

Admin Devschuur® & Discord

is niet lief

Misschien moet je de quickstart eens doorlezen. De P&W FAQ - Leer *** debuggen doet het ook goed. Daarin staat namelijk dat parse errors altijd typfouten zijn, die je door een beetje zoeken kan oplossen.
Verder zou het prettig zijn wanneer je alleen de relevante code hier zou plaatsen, en dan nog binnen de daarvoor bestemde code-tags.

[ Voor 24% gewijzigd door MueR op 18-06-2005 16:41 . Reden: Ik ben zo vriendelijk geweest de urls ff er bij te zetten. ]

Anyone who gets in between me and my morning coffee should be insecure.


Verwijderd

Verwijderd schreef op zaterdag 18 juni 2005 @ 16:19:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/html/il/tekoop/verwijdertk.php on line 14
Ja, en wat is regel 14?
Kijk eens naar het gebruik van "quootjes" in je broncode?

  • TERW_DAN
  • Registratie: Juni 2001
  • Niet online

TERW_DAN

Met een hamer past alles.

Stop je code even tussen php tags, dan is het een stuk makkelijker om te achterhalen waar hte fout zit.

parse errors zijn waarschijnlijk te wijten aan een " die verkeerd staat.

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
include("tkconnect.php");
include("../inc_log.php");
?>

<html>
<head>
<title>Verwijderen</title>
<?php

if (isset($_POST["bevestiging"])){
//$bestand = "$img";
$select_img = mysql_query ("SELECT img FROM tekoop WHERE id='$_POST['id']' ");

$img = mysql_result($select_img,"img"); 
$img_p = "fotos/$img";

unlink($img_p);

$query="DELETE FROM tekoop WHERE id='" .$_POST["id"] ."'";
$result = mysql_query($query) or die ("FOUT : ". mysql_error());

if ($result){
echo ("<p class=\"text4\">Item " .$_POST["artikel"] . " is verwijderd<br><br>\n");
echo ("<a href=\"tkoverzicht.php\">naar overzicht</p></a>");
}
}else{

$query="SELECT * FROM tekoop WHERE id='" .$_GET["id"]."'";
$result = mysql_query($query) or die ("FOUT: " .mysql_error());
?>

</head>
<body>
<h2 class="text3">Gegevens verwijderen?</h2>
<?php
while (list($id, $artikel, $beschr, $img) =
mysql_fetch_row($result)){
echo("<p class=\"text4\">ID: $id<br>
Artikel: $artikel<br>
Beschrijving: $beschr<br>
Foto: $img<br></p>
<hr>");
}?>
<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="verwijderen">
<input type="Button" value="terug"
onclick="javascript:history.back();">
</form>
<?php
// else-blok correct afsluiten
}
?>
</body>
</html>


Voor Regel 14 komt doorgaans regel 13. En daar staat dit:
PHP:
1
$select_img = mysql_query ("SELECT img FROM tekoop WHERE id='$_POST['id']' ");


Maak daar eens dit van:
PHP:
1
$select_img = mysql_query ("SELECT img FROM tekoop WHERE id=" . $_POST['id'] );

[ Voor 86% gewijzigd door Verwijderd op 18-06-2005 17:08 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 06-05 15:36
Dit is wel een beetje een brok irrelevante code; daarnaast is het ook handig als je code - tags gebruikt om je code te lay-outen. Dat maakt het geheel leesbaarder.
Een parse error is echter iets wat je zelf eenvoudig kunt oplossen door de foutmeldingen goed te interpreteren, en je code op te bekijken op de plaats waar het fout gaat.
Dit is dus iets wat je eigenlijk zelf moet kunnen oplossen, mits je een beetje gericht zoekt en de foutmelding interpreteert.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 06-05 15:36
Mag ik je trouwens ook eens op dit wijzen:
*** Over topictitels in P&W - lezen voor topic openen!!! ***
:)

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.