Unlink problems

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
Femkecc
Forum Newbie
Posts: 5
Joined: Mon Apr 03, 2006 8:54 am

Unlink problems

Post by Femkecc »

feyd | Please use

Code: Select all

and

Code: Select all

tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


I m desperate ... tried so much, and it doesnt work. Please help me out with some tips and advice. Thank you so much!!!

The code doesnt show anymore.

Code: Select all

<form action="verwijderen.php" enctype="multipart/form-data" method="get" name="form">
Pagina:
<select name="page" id="page">
      <option value="banken">Banken</option>
      <option value="slaapkamers">Slaapkamers</option>
      <option value="fauteuils">Fauteuils</option>
      <option value="verlichting">Verlichting</option>
      <option value="salontafels">Salontafels</option>
      <option value="tapijten">Tapijten</option>
      <option value="vitrinekasten">Vitrinekasten</option>
      <option value="gordijnen">Gordijnen</option>
      <option value="wandkasten">Wandkasten</option>
      <option value="terrasmeubelen">Terrasmeubelen</option>
      <option value="dressoir">Dressoirs</option>
      <option value="kunst">Schilderijen</option>
      <option value="eet">Eetkamers</option>
      <option value="accesoire">Accessoires</option>
      <option value="haard">Open Haarden</option>
      <option value="av">Audio-Video </option>
      <option value="bontplaid">Bontplaids</option>
	  <option value="kussen">Kussens</option>
    </select>
	<br>
	Positie:<select name="position">
      <option value="01">1</option>
      <option value="02">2</option>
      <option value="03">3</option>
      <option value="04">4</option>
      <option value="05">5</option>
      <option value="06">6</option>
    </select><br><input name="submit" type="submit" value="ga">
	<input type="hidden" name="submitted" value="ja"><br><br>

<?php
include("../database.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_POST['submitted']) and $_POST['submitted']== 'ja') {

$sql = mysql_query("SELECT * FROM foto WHERE page='{$_POST["page"]}' AND position='{$_POST["position"]}'") or die (mysql_error()); 

while( $show = mysql_fetch_array($sql))
{
 $id = $show[id];
 $page = $show[page];
 $url = $show[url];
 $dag = $show[dag];
 
 echo "$id - ";
 echo "$page <br>$url <br><br>";
 echo "<img src=\"../$url\" width=\"100\">  ";
 echo "<form action=\"verwijderen.php\" enctype=\"multipart/form-data\" method=\"post\" name=\"form2\">";
 echo "<input name=\"submit\" type=\"submit\" value=\"weggooien\">";
 echo "<input type=\"hidden\" name=\"verwijder\" value=\"delete\"></form>";
 }

 }
 
 if($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_POST['verwijder']) and $_POST['verwijder']== 'delete'){
		$file = /www/".$url;
		if file_exists($file)) 
     	{ 
    	 unlink($file); 
     	} 
		else 
    	 { 
    	 echo $file.' bestaat niet eens'; 
     	} 

  }
 

?>

feyd | Please use

Code: Select all

and

Code: Select all

tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

the posted code would have a parse error near /www/ (missing a double quote)
Femkecc
Forum Newbie
Posts: 5
Joined: Mon Apr 03, 2006 8:54 am

Quotes

Post by Femkecc »

The quotes r there in the actual code, just cut that piece out because of the privacy of the website :lol: Sorry! So this isnt the problem.
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

What's the actual problem then? "The code doesnt show anymore" doesn't tell me a thing.
Femkecc
Forum Newbie
Posts: 5
Joined: Mon Apr 03, 2006 8:54 am

Post by Femkecc »

the code didnt delete the right picture, it seemed to delete the first in the dropdown list. Then I changed the code so I would take the correct values (used global like _POST). That had as effect that the images stopped showing, and just skipped the total second form. Then I put the second form outside of the first if statement, and now the page doesnt even show anymore. I think Im close, but I dont see whats wrong in the if statement.
timvw
DevNet Master
Posts: 4897
Joined: Mon Jan 19, 2004 11:11 pm
Location: Leuven, Belgium

Re: Unlink problems

Post by timvw »

Prepend the following to your code and you'll get a couple of hints where you're code is viable for improvements...

Code: Select all

<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', TRUE);
?>
Anyway, if you simply want it to work, your form uses the GET method for verwijder and your code looks in $_POST.
Femkecc
Forum Newbie
Posts: 5
Joined: Mon Apr 03, 2006 8:54 am

Post by Femkecc »

feyd | Please use

Code: Select all

and

Code: Select all

tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


I changed the things u suggested, and two other mistakes. The page shows now . But it still doesnt work ...

Code: Select all

<form action="verwijderen.php" enctype="multipart/form-data" method="post" name="form">
Pagina:
<select name="page" id="page">
      <option value="banken">Banken</option>
      <option value="slaapkamers">Slaapkamers</option>
      <option value="fauteuils">Fauteuils</option>
           <option value="av">Audio-Video </option>
      <option value="bontplaid">Bontplaids</option>
	  <option value="kussen">Kussens</option>
    </select>
	<br>
	Positie:<select name="position">
      <option value="01">1</option>
      <option value="02">2</option>
            <option value="06">6</option>
    </select><br><input name="submit" type="submit" value="ga">
	<input type="hidden" name="submitted" value="ja"><br><br>

<?php
include("../database.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_POST['submitted']) and $_POST['submitted']== 'ja') {

$sql = mysql_query("SELECT * FROM foto WHERE page='{$_POST["page"]}' AND position='{$_POST["position"]}'") or die (mysql_error()); 

while( $show = mysql_fetch_array($sql))
{
 $id = $show[id];
 $page = $show[page];
 
 global $url; 
 $url = $show[url];
 $dag = $show[dag];
 
 echo "$id - ";
 echo "$page <br>$url <br><br>";
 echo "<img src=\"../$url\" width=\"100\">  ";
 echo "<form action=\"verwijderen.php\" enctype=\"multipart/form-data\" method=\"post\" name=\"form2\">";
 echo "<input name=\"submit\" type=\"submit\" value=\"weggooien\">";
 echo "<input type=\"hidden\" name=\"verwijder\" value=\"delete\"></form>";
 }

 }
 
 if($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_POST['verwijder']) and $_POST['verwijder']== 'delete'){
		$filename = "../_images/".$url;
		if ( file_exists($filename) )
     	{ 
    	 unlink ($filename);
     	} 
		else 
    	 { 
    	 echo $filename.' bestaat niet eens'; 
     	} 

  }
 

?>
The error variables in the top of the page make me see the next errors:
Notice: Use of undefined constant id - assumed 'id' in bla bla
Notice: Use of undefined constant page - assumed 'pag
etc etc etc

Can it be the server?


feyd | Please use

Code: Select all

and

Code: Select all

tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]
timvw
DevNet Master
Posts: 4897
Joined: Mon Jan 19, 2004 11:11 pm
Location: Leuven, Belgium

Post by timvw »

Femkecc wrote:

Code: Select all

$id = $show[id];
 $page = $show[page];
Should be:

Code: Select all

$id = $show['id'];
$page = $show['page'];
You might want to echo/log realpath($filename) before you try to unlink it.. I've got a feeling it's not what you think it is ;)
Femkecc
Forum Newbie
Posts: 5
Joined: Mon Apr 03, 2006 8:54 am

Post by Femkecc »

Thnx for your help! I think the path is correct (now) ... because it keeps deleting the same image over and over, the first options out of both drop downs. I tried globals, but that doesnt work either. Does anyone have some suggestions :)

Thanks!

Code: Select all

<?
if (!($option == "een") || !($option == "twee"))
{
?>

<form action="verwijderen.php" enctype="multipart/form-data" method="post" name="form">
Pagina:
<select name="page" id="page">
      <option value="banken">Banken</option>
      <option value="slaapkamers">Slaapkamers</option>
      <option value="fauteuils">Fauteuils</option>
      <option value="verlichting">Verlichting</option>
      <option value="salontafels">Salontafels</option>
      <option value="tapijten">Tapijten</option>
      <option value="vitrinekasten">Vitrinekasten</option>
      <option value="gordijnen">Gordijnen</option>
      <option value="wandkasten">Wandkasten</option>
      <option value="terrasmeubelen">Terrasmeubelen</option>
      <option value="dressoir">Dressoirs</option>
      <option value="kunst">Schilderijen</option>
      <option value="eet">Eetkamers</option>
      <option value="accesoire">Accessoires</option>
      <option value="haard">Open Haarden</option>
      <option value="av">Audio-Video </option>
      <option value="bontplaid">Bontplaids</option>
	  <option value="kussen">Kussens</option>
    </select>
	<br>
	Positie:<select name="position">
      <option value="01">1</option>
      <option value="02">2</option>
      <option value="03">3</option>
      <option value="04">4</option>
      <option value="05">5</option>
      <option value="06">6</option>
    </select><br><input name="submit" type="submit" value="ga">
	<input type="hidden" name="option" value="twee"><br><br>

<?php
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_POST['option']) and $_POST['option']== 'twee') 
 {
 global $page;
 $page = $_POST['page'];
 global $position; 
 $position = $_POST['position'];
 
 echo "<img src=\"../_images/$page$position.jpg\" width=\"100\">  ";
 echo "<form action=\"verwijderen.php\" enctype=\"multipart/form-data\" method=\"post\" name=\"form2\">";
 echo "<input name=\"submit\" type=\"submit\" value=\"weggooien\">";
 echo "<input type=\"hidden\" name=\"option\" value=\"een\"></form>";
 }

 
 if($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_POST['option']) and $_POST['option']== 'een'){
		$filename = "/sites/blabla.nl/www/_images/".$page."".$position.".jpg";
				
		if ( file_exists($filename) )
     	{ 
    	 unlink ($filename);
		 echo "verwijderd";
     	} 
		else 
    	 { 
    	 echo $filename.' bestaat niet eens'; 
     	} 

  }
 
 
 

?>
User avatar
phpScott
DevNet Resident
Posts: 1206
Joined: Wed Oct 09, 2002 6:51 pm
Location: Keele, U.K.

Post by phpScott »

take a step back and get your form submiting the correct items first then worry about unlink the correct file.
If the values from your select boxes are incorrect try and work on that problem first then move onto the unlinking issue.

Code: Select all

<?php
if(isset($_POST['page']))
  echo "page is {$_POST['page']}<br />";
if(isset($_POST['position']))
  echo "position is {$_POST['position']}<br />";
if(isset($_POST['option']))
  echo "option is {$_POST['option']}<br />";
?>

<form action="verwijderen.php" enctype="multipart/form-data" method="post" name="form">
Pagina:
<select name="page" id="page">
      <option value="banken">Banken</option>
      <option value="slaapkamers">Slaapkamers</option>
      <option value="fauteuils">Fauteuils</option>
      <option value="verlichting">Verlichting</option>
      <option value="salontafels">Salontafels</option>
      <option value="tapijten">Tapijten</option>
      <option value="vitrinekasten">Vitrinekasten</option>
      <option value="gordijnen">Gordijnen</option>
      <option value="wandkasten">Wandkasten</option>
      <option value="terrasmeubelen">Terrasmeubelen</option>
      <option value="dressoir">Dressoirs</option>
      <option value="kunst">Schilderijen</option>
      <option value="eet">Eetkamers</option>
      <option value="accesoire">Accessoires</option>
      <option value="haard">Open Haarden</option>
      <option value="av">Audio-Video </option>
      <option value="bontplaid">Bontplaids</option>
      <option value="kussen">Kussens</option>
    </select>
    <br>
    Positie:<select name="position">
      <option value="01">1</option>
      <option value="02">2</option>
      <option value="03">3</option>
      <option value="04">4</option>
      <option value="05">5</option>
      <option value="06">6</option>
    </select><br><input name="submit" type="submit" value="ga">
    <input type="hidden" name="option" value="twee"><br><br> 
</form>
notice the closing form tag as well.
Post Reply