Toon posts:

[php] er word automatisch een foto verwijderd

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

Verwijderd

Topicstarter
Beste leden,

dit is mijn script:

code:
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
<? 
require("config.php"); 
error_reporting(E_ALL); 

if(!$mid) 
{ 
  $query = mysql_query("SELECT * FROM fotos"); 
  $result = mysql_num_rows($query); 

  //de $mid if is nu klaar 

  if(!$result) 
  { 
     echo "Geen fotos aanwezig"; 
  } 
  else 
  { 
    while($object = mysql_fetch_object($query)) 
    { 
       echo "> <a href=\"index.php?module=fotodel
&mid=$object->id\">$object->foto_naam</a>
(ID:   $object->foto_url )\n<br>"; 
    }   
  } 
} 
else 
{ 
  $query = mysql_query("SELECT * FROM fotos WHERE gsmdb = '$gsm'"); 
  $result = mysql_num_rows($query); 

  if(!$result) 
  { 
    echo "Deze member bestaat niet..."; 
  } 
  else 
  { 
    $object = mysql_fetch_object($query); 
    { //<------------??? 
      unlink('WWW/images/'.$object->foto_naam); 
      echo "<b>Foto is succesvol verwijderd</b><br><br>
<a href=\"index.php?module=cp\">control panel</a>"; 
      mysql_query("DELETE FROM fotos WHERE foto_naam = '$object->foto_naam'"); 
    }//<------------??? 
  } 
} 
?>


Dit is het probleem:

Als ik nu de url:

fotodel.php?mid=

aanroep, verwijderd het script uit zichzelf al 1 foto.
Dit moet niet, hij moet alle fotonamen dus onder elkaar neerzetten,
zodra er dan op geklikt word moet de desbetreffende foto verwijderd worden.

Ziet iemand de fout?

[ Voor 24% gewijzigd door Verwijderd op 14-05-2004 15:18 ]


  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

$mid heeft altijd een waarde waarschijnlijk.
Misschien staan de globals uit en moet je $mid met $HTTP_GET_VARS['mid'] aanroepen

[ Voor 71% gewijzigd door intermusic op 14-05-2004 15:22 ]


Verwijderd

Het bekende register_globals verhaal. Zie ook de FAQ.

[ Voor 42% gewijzigd door Verwijderd op 14-05-2004 15:22 ]


  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 29-04 09:11
Dat komt omdat je de mid variabele als http get variabele meestuurt, waardoor deze niet direct beschikbaar is in je script via de variabele naam.
Alle get variabelen worden in de $_GET array geplaatst, post variabelen in $_POST, etc.

Om te controleren of mid leeg is kan je het volgende doen:
PHP:
1
2
3
if ($_GET['mid'] != "") {
// code
}


Ik denk ook dat je code opbouw niet goed is als je door zoiets als dit eindigt met een verwijderd plaatje. Misschien even de ifjes anders construeren of voor het verwijderen een extra controle (is $mid uberhaupt wel geset!?) plaatsen.

offtopic:
Hoe vaak zullen dit soort vragen nog gesteld worden?


edit:
Intermusic: $HTTP_GET_VARS is ook niet echt meer van deze tijd: gebruik $_GET hiervoor

[ Voor 9% gewijzigd door PhoeniX- op 14-05-2004 15:24 ]


Verwijderd

Topicstarter
$mid heeft op het begin geen waarde, deze krijgt ie pas als er een foto word aangeklikt.

De register globals staan aan, bij mij werkt superblobals en registerglobals allebij.

[ Voor 34% gewijzigd door Verwijderd op 14-05-2004 15:26 ]


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Verwijderd schreef op 14 mei 2004 @ 15:25:
$mid heeft op het begin geen waarde, deze krijgt ie pas als er een foto word aangeklikt.

De register globals staan aan, bij mij werkt superblobals en registerglobals allebij.
Zie de reply van PhoeNix. De waarde is in het geval van jouw aanroep namelijk wel gedefinieerd. mid= zonder waarde erachter levert $mid = "" in je script.

Dit betekent dus dat je in de else van je buitenste if constructie komt.

Verwijderd

Topicstarter
Maar als ik niet fotodel.php?mid=

doe, maar gewoon fotodel.php
dan zegt hij dat $mid niet gedefineerd is.

Verwijderd

Verwijderd schreef op 14 mei 2004 @ 15:43:
Maar als ik niet fotodel.php?mid=

doe, maar gewoon fotodel.php
dan zegt hij dat $mid niet gedefineerd is.
Dat KLOPT toch ook gewoon?
Je geeft hem niet mee in de url, en je initialiseert hem nergens. Je kijkt meteen of $mid een waarde heeft die als true gezien wordt in een vergelijking. Als $mid niet bestaat levert dat natuurlijk een notice op (E_ALL)

Gebruik eens functies als isset, empty, is_null.

[ Voor 7% gewijzigd door Verwijderd op 14-05-2004 15:47 ]


Verwijderd

Topicstarter
kan trim ook?

  • stfn345
  • Registratie: Januari 2000
  • Laatst online: 14:01
* stfn345 stom.

[ Voor 95% gewijzigd door stfn345 op 14-05-2004 15:48 ]


Verwijderd

Nee. En dat had je geweten als je het eerst had geprobeerd in plaats van meteen een overbodige vraag te stellen.

Verwijderd

Topicstarter
Dat hoeft het niet te zijn, dan krijg ik juist een error, ik ga ff proberen met dat empty.

Trim kan toch ook om lege dingen te achterhalen?

[ Voor 23% gewijzigd door Verwijderd op 14-05-2004 15:51 ]


Verwijderd

Verwijderd schreef op 14 mei 2004 @ 15:50:

Trim kan toch ook om lege dingen te achterhalen?
Volgens mij lees je niet goed. Zoek zoiets alsjeblieft op in de manual, dan hoef je niet zulke domme vragen te stellen.

[ Voor 3% gewijzigd door Verwijderd op 14-05-2004 15:53 ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Verwijderd schreef op 14 mei 2004 @ 15:46:
[...]

Dat KLOPT toch ook gewoon?
Je geeft hem niet mee in de url, en je initialiseert hem nergens. Je kijkt meteen of $mid een waarde heeft die als true gezien wordt in een vergelijking. Als $mid niet bestaat levert dat natuurlijk een notice op (E_ALL)

Gebruik eens functies als isset, empty, is_null.
^^^^^^^

Dit is basic debugwerk en even logisch nadenken. En om de vraag elders uit dit topic te beantwoorden hoe vaak dit soort vragen nog gesteld gaat worden: deze niet meer iig ;)

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.