unlink() werkt niet.. wat doe ik verkeerd?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Pagina: 1 2 volgende »

Damiaan Reijnaers

Damiaan Reijnaers

05/01/2008 14:27:00
Quote Anchor link
Sorry dat ik weer een topic plaats, maar ik kom soms uit functies echt niet uit terwijl ik ze wel nodig heb, omdat anders mijn hele systeem voor niets isgeweest. Nu is het weer een probleem met unlink(), ik wil een file unlinken, bijvoorbeeld $code5 (zie script), maar hij geeft dan een warning.. deze:

Warning: unlink() [function.unlink]: SAFE MODE Restriction in effect. The script whose uid is 77854 is not allowed to access / owned by uid 0 in /storage/mijndomein/users/073214/public/sites/www.skoolofwar.com/webshop/code_check.php on line

En bovendien verwijdert hij het bestand niet eens.. wie kan me helpen? Hieronder het script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?
$code1
= 'codes/3482.php';
$code2 = 'codes/8263.php';
$code3 = 'codes/6344.php';
$code4 = 'codes/3438.php';
$code5 = 'codes/4857.php';

if(file_exists($code1)) { //Check of de code nog bestaat
     include('codes/3482.php'); //Als de code bestaat, include de variabelen van de code
} else {
}


if(file_exists($code2)) { //Check of de andere codes nog bestaan
     include('codes/8263.php'); //Als de andere codes bestaan, include de variabelen van de andere codes
} else {
}


if(file_exists($code3)) { //Check of de andere codes nog bestaan
     include('codes/6344.php'); //Als de andere codes bestaan, include de variabelen van de andere codes
} else {
}

if(file_exists($code4)) { //Check of de andere codes nog bestaan
     include('codes/3438.php'); //Als de andere codes bestaan, include de variabelen van de andere codes
} else {
}

if(file_exists($code5)) { //Check of de andere codes nog bestaan
     include('codes/4857.php'); //Als de andere codes bestaan, include de variabelen van de andere codes
} else {
}


$ip = $_SERVER['REMOTE_ADDR']; //Maak variabele voor ip-adres

if($_POST[code] == 3482) { //Kijk of de goede code is ingevoerd
     if($code3482 == 3482) { //Als de goede code is ingevoerd, bekijk of de code nog bestaat
echo "<center><b>Uw betaling is gelukt!</b></br><center><table width=200 height=250 bgcolor=000000 background='lines.jpg' border=0><tr><td><img src='logo.jpg'></td></tr><tr><td width=200 height=185><font face=tahoma size=1 color=black><b>Betaald met code:</b> 3482</br><b>IP Adres:</b> $ip</td></tr><tr><td width=200 height=30><center><font face=verdana size=2 color=black><b>Betaalmiddel</b></font></td></tr></table>"; //Echo het bonnetje
  //Het is mogelijk om hier de functies te zetten die men na het betalen mag gebruiken

unlink($code1); //Zorg dat de code niet meer gebruikt mag worden
} else {
}
}
elseif($_POST[code] == 8263) {
 if($code8263 == 8263) { //Als de goede code is ingevoerd, bekijk of de code nog bestaat
echo "<center><b>Uw betaling is gelukt!</b></br><center><table width=200 height=250 bgcolor=000000 background='lines.jpg' border=0><tr><td><img src='logo.jpg'></td></tr><tr><td width=200 height=185><font face=tahoma size=1 color=black><b>Betaald met code:</b> 8263</br><b>IP Adres:</b> $ip</td></tr><tr><td width=200 height=20><center><font face=verdana size=2 color=black><b>Betaalmiddel</b></font></td></tr></table>"; //Echo het bonnetje
  //Het is mogelijk om hier de functies te zetten die men na het betalen mag gebruiken

unlink($code2); //Zorg dat de code niet meer gebruikt mag worden
} else {
}
}
elseif($_POST[code] == 6344) {
 if($code6344 == 6344) { //Als de goede code is ingevoerd, bekijk of de code nog bestaat
echo "<center><b>Uw betaling is gelukt!</b></br><center><table width=200 height=250 bgcolor=000000 background='lines.jpg' border=0><tr><td><img src='logo.jpg'></td></tr><tr><td width=200 height=185><font face=tahoma size=1 color=black><b>Betaald met code:</b> 6344</br><b>IP Adres:</b> $ip</td></tr><tr><td width=200 height=20><center><font face=verdana size=2 color=black><b>Betaalmiddel</b></font></td></tr></table>"; //Echo het bonnetje
  //Het is mogelijk om hier de functies te zetten die men na het betalen mag gebruiken

unlink($code3); //Zorg dat de code niet meer gebruikt mag worden
} else {
}
}
elseif($_POST[code] == 3438) {
 if($code3438 == 3438) { //Als de goede code is ingevoerd, bekijk of de code nog bestaat
echo "<center><b>Uw betaling is gelukt!</b></br><center><table width=200 height=250 bgcolor=000000 background='lines.jpg' border=0><tr><td><img src='logo.jpg'></td></tr><tr><td width=200 height=185><font face=tahoma size=1 color=black><b>Betaald met code:</b> 3438</br><b>IP Adres:</b> $ip</td></tr><tr><td width=200 height=20><center><font face=verdana size=2 color=black><b>Betaalmiddel</b></font></td></tr></table>"; //Echo het bonnetje
  //Het is mogelijk om hier de functies te zetten die men na het betalen mag gebruiken

unlink($code4); //Zorg dat de code niet meer gebruikt mag worden
} else {
}
}
elseif($_POST[code] == 4857) {
 if($code4857 == 4857) { //Als de goede code is ingevoerd, bekijk of de code nog bestaat
echo "<center><b>Uw betaling is gelukt!</b></br><center><table width=200 height=250 bgcolor=000000 background='lines.jpg' border=0><tr><td><img src='logo.jpg'></td></tr><tr><td width=200 height=185><font face=tahoma size=1 color=black><b>Betaald met code:</b> 4857</br><b>IP Adres:</b> $ip</td></tr><tr><td width=200 height=20><center><font face=verdana size=2 color=black><b>Betaalmiddel</b></font></td></tr></table>"; //Echo het bonnetje
unlink($code5.php); //Zorg dat de code niet meer gebruikt mag worden
} else {
}
}
else {
echo "<center><font face=verdana size=3 color=red>OOPS!</br><font size=2 color=black>Je hebt een verkeerde code ingevoerd!</center></font>"; //Als er een niet-bestaande code is ingevoerd geef foutmelding
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Damiaan Reijnaers
 
PHP hulp

PHP hulp

27/05/2026 11:41:04
 

05/01/2008 14:37:00
Quote Anchor link
Wat doe je verkeerd? Dat zegt de foutmelding al:
'Damiaan:
Warning: unlink() [function.unlink]: SAFE MODE Restriction in effect. The script whose uid is 77854 is not allowed to access / owned by uid 0 in /storage/mijndomein/users/073214/public/sites/www.skoolofwar.com/webshop/code_check.php on line

http://nl3.php.net/features.safe-mode
 
Damiaan Reijnaers

Damiaan Reijnaers

05/01/2008 14:44:00
Quote Anchor link
Mm... thanks voor de link, maar ik kom er nog steeds niet uit. Ik snap niets van die warning, 'k heb er ook nog nooit zo eentje gehad
 
Joren de Wit

Joren de Wit

05/01/2008 14:50:00
Quote Anchor link
Safe Mode is ingeschakeld. Dat betekent dat naast het feit of er voldoende rechten gegeven zijn op het bestand, ook gecontroleerd wordt of degene die wat met het bestand wil doen wel de eigenaar is (ze dezelfde UID hebben).

Als jij een bestand via FTP hebt aangemaakt kun je dat onmogelijk met PHP verwijderen als safe mode ingeschakeld is, aangezien het UID van PHP niet overeen zal komen met de UID van de eigenaar van het bestand (de ftp gebruiker).
 

05/01/2008 14:51:00
Quote Anchor link
'Damiaan:
Mm... thanks voor de link, maar ik kom er nog steeds niet uit. Ik snap niets van die warning, 'k heb er ook nog nooit zo eentje gehad

Php is niet de eigenaar van dat bestand (want php heeft het bestand niet aangemaakt), en dus mag je hem niet verwijderen.
Om deze waarschuwing weg te halen moet je of safe mode uitzetten, of het bestand chmodden of php via .htaccess in cgi zetten (wat ingewikkeld is).
Zie ook bijvoorbeeld dit.
 
Arend a

Arend a

05/01/2008 14:58:00
Quote Anchor link
Quote:
Php is niet de eigenaar van dat bestand

Apache of de webserver is geen eigenaar van het bestand.

Je script is behoorlijk raar. Ik vermoed dat je unlink() op een leeg bestand probeert uit te voeren, en iets wat in elk geval niet gevonden kan worden en tot het bestand / wordt gereduceerd. Het lijkt me een goed idee dat je die niet kan verwijderen.
Gewijzigd op 01/01/1970 01:00:00 door Arend a
 
Damiaan Reijnaers

Damiaan Reijnaers

05/01/2008 15:00:00
Quote Anchor link
Het bestand bestaat wel.. kijk zelf maar bijvoorbeeld als $code5:

http://www.skoolofwar.com/webshop/codes/4857.php

In het bestand staat dan alleen bijv:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$code4857
= 4857;

?>
 
Arend a

Arend a

05/01/2008 15:02:00
Quote Anchor link
Waarom zou je dat willen? Er lijkt me iets fundamenteel mis met je aanpak.
 
Damiaan Reijnaers

Damiaan Reijnaers

05/01/2008 15:11:00
Quote Anchor link
Dan kunnen mensen na het 'kopen' van een code, de code niet doorgeven omdat de code niet meer bestaat.,
Gewijzigd op 01/01/1970 01:00:00 door Damiaan Reijnaers
 
Joren de Wit

Joren de Wit

05/01/2008 15:14:00
Quote Anchor link
Ik weet niet precies wat je wilt, maar is het niet veel slimmer om hier een database voor te gebruiken?
 
Damiaan Reijnaers

Damiaan Reijnaers

05/01/2008 15:16:00
Quote Anchor link
Superraar: als ik naar 777 chmod doet hij ht nog steeds niet
 
Joren de Wit

Joren de Wit

05/01/2008 15:23:00
Quote Anchor link
'Damiaan:
Superraar: als ik naar 777 chmod doet hij ht nog steeds niet
Met chmod verander je alleen de rechten op het bestand, niet de eigenaar. En met safe mode ingeschakeld wordt nu eenmaal geeist dat het uid (dus de eigenaar) ook overeenkomt...
 
Damiaan Reijnaers

Damiaan Reijnaers

05/01/2008 15:25:00
Quote Anchor link
'Blanche:
'Damiaan:
Superraar: als ik naar 777 chmod doet hij ht nog steeds niet
Met chmod verander je alleen de rechten op het bestand, niet de eigenaar. En met safe mode ingeschakeld wordt nu eenmaal geeist dat het uid (dus de eigenaar) ook overeenkomt...



Domme vraag misschien maar: Hoe zet je safe mode uit?
 
Damiaan Reijnaers

Damiaan Reijnaers

05/01/2008 16:24:00
Quote Anchor link
Om te weten wat ik precies wil bereiken zal ik even alle scripts posten, hier komen ze:

Edit: De codes doen heel raar, hij doet nu heel veel pagina's in 1 code tag :S

-- index.html --
<html>
<head>
<title>Easy webshop ~ Koop dingen</title>
</head>
<body bgcolor=000000>
<center><table width=375 height=120 bgcolor=FFFFFF><tr><td width=375 height=45><font face=verdana size=5 color=black>NIETS</td></tr><tr><td><b><font face=verdana size=1 color=black>Kosten:</b> 0.00 €</br><a href="krijg_code_verwerk.php"><img src="koop.jpg" border=0></a></td></tr></table>
</br></br>
<center><a href="voerin.html"><font face=verdana size=2 color=white>Voer code in</a>
</body>
</html>

-- voerin.html --
<form action="code_check.php" method="post">
Code: <input type="text" name="code" maxlength="4"><input type="submit" name="submit" value="Voer in">
</form>

-- check_code.php --
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?
$code1
= 'codes/3482.php';
$code2 = 'codes/8263.php';
$code3 = 'codes/6344.php';
$code4 = 'codes/3438.php';
$code5 = 'codes/4857.php';
$code6 = '/codes/3482.php';
$code7 = '/codes/8263.php';
$code8 = '/codes/6344.php';
$code9 = '/codes/3438.php';
$code0 = '/codes/4857.php';

if(file_exists($code1)) { //Check of de code nog bestaat
     include('codes/3482.php'); //Als de code bestaat, include de variabelen van de code
} else {
}


if(file_exists($code2)) { //Check of de andere codes nog bestaan
     include('codes/8263.php'); //Als de andere codes bestaan, include de variabelen van de andere codes
} else {
}


if(file_exists($code3)) { //Check of de andere codes nog bestaan
     include('codes/6344.php'); //Als de andere codes bestaan, include de variabelen van de andere codes
} else {
}

if(file_exists($code4)) { //Check of de andere codes nog bestaan
     include('codes/3438.php'); //Als de andere codes bestaan, include de variabelen van de andere codes
} else {
}

if(file_exists($code5)) { //Check of de andere codes nog bestaan
     include('codes/4857.php'); //Als de andere codes bestaan, include de variabelen van de andere codes
} else {
}


$ip = $_SERVER['REMOTE_ADDR']; //Maak variabele voor ip-adres

if($_POST[code] == 3482) { //Kijk of de goede code is ingevoerd
     if($code3482 == 3482) { //Als de goede code is ingevoerd, bekijk of de code nog bestaat
echo "<center><b>Uw betaling is gelukt!</b></br><center><table width=200 height=250 bgcolor=000000 background='lines.jpg' border=0><tr><td><img src='logo.jpg'></td></tr><tr><td width=200 height=185><font face=tahoma size=1 color=black><b>Betaald met code:</b> 3482</br><b>IP Adres:</b> $ip</td></tr><tr><td width=200 height=30><center><font face=verdana size=2 color=black><b>Betaalmiddel</b></font></td></tr></table>"; //Echo het bonnetje
  //Het is mogelijk om hier de functies te zetten die men na het betalen mag gebruiken

unlink($code6); //Zorg dat de code niet meer gebruikt mag worden
} else {
}
}
elseif($_POST[code] == 8263) {
 if($code8263 == 8263) { //Als de goede code is ingevoerd, bekijk of de code nog bestaat
echo "<center><b>Uw betaling is gelukt!</b></br><center><table width=200 height=250 bgcolor=000000 background='lines.jpg' border=0><tr><td><img src='logo.jpg'></td></tr><tr><td width=200 height=185><font face=tahoma size=1 color=black><b>Betaald met code:</b> 8263</br><b>IP Adres:</b> $ip</td></tr><tr><td width=200 height=20><center><font face=verdana size=2 color=black><b>Betaalmiddel</b></font></td></tr></table>"; //Echo het bonnetje
  //Het is mogelijk om hier de functies te zetten die men na het betalen mag gebruiken

unlink($code7); //Zorg dat de code niet meer gebruikt mag worden
} else {
}
}
elseif($_POST[code] == 6344) {
 if($code6344 == 6344) { //Als de goede code is ingevoerd, bekijk of de code nog bestaat
echo "<center><b>Uw betaling is gelukt!</b></br><center><table width=200 height=250 bgcolor=000000 background='lines.jpg' border=0><tr><td><img src='logo.jpg'></td></tr><tr><td width=200 height=185><font face=tahoma size=1 color=black><b>Betaald met code:</b> 6344</br><b>IP Adres:</b> $ip</td></tr><tr><td width=200 height=20><center><font face=verdana size=2 color=black><b>Betaalmiddel</b></font></td></tr></table>"; //Echo het bonnetje
  //Het is mogelijk om hier de functies te zetten die men na het betalen mag gebruiken

unlink($code8); //Zorg dat de code niet meer gebruikt mag worden
} else {
}
}
elseif($_POST[code] == 3438) {
 if($code3438 == 3438) { //Als de goede code is ingevoerd, bekijk of de code nog bestaat
echo "<center><b>Uw betaling is gelukt!</b></br><center><table width=200 height=250 bgcolor=000000 background='lines.jpg' border=0><tr><td><img src='logo.jpg'></td></tr><tr><td width=200 height=185><font face=tahoma size=1 color=black><b>Betaald met code:</b> 3438</br><b>IP Adres:</b> $ip</td></tr><tr><td width=200 height=20><center><font face=verdana size=2 color=black><b>Betaalmiddel</b></font></td></tr></table>"; //Echo het bonnetje
  //Het is mogelijk om hier de functies te zetten die men na het betalen mag gebruiken

unlink($code9); //Zorg dat de code niet meer gebruikt mag worden
} else {
}
}
elseif($_POST[code] == 4857) {
 if($code4857 == 4857) { //Als de goede code is ingevoerd, bekijk of de code nog bestaat
echo "<center><b>Uw betaling is gelukt!</b></br><center><table width=200 height=250 bgcolor=000000 background='lines.jpg' border=0><tr><td><img src='logo.jpg'></td></tr><tr><td width=200 height=185><font face=tahoma size=1 color=black><b>Betaald met code:</b> 4857</br><b>IP Adres:</b> $ip</td></tr><tr><td width=200 height=20><center><font face=verdana size=2 color=black><b>Betaalmiddel</b></font></td></tr></table>"; //Echo het bonnetje
  //Het is mogelijk om hier de functies te zetten die men na het betalen mag gebruiken

unlink($code0); //Zorg dat de code niet meer gebruikt mag worden
} else {
}
}
else {
echo "<center><font face=verdana size=3 color=red>OOPS!</br><font size=2 color=black>Je hebt een verkeerde code ingevoerd!</center></font>"; //Als er een niet-bestaande code is ingevoerd geef foutmelding
}

?>


-- krijg_code_verwerk.php --
<?php

if(file_exists('codes/4857.php')) { //Check of de code nog bestaat
echo "Je code is: <b>4857</b>, ga terug naar de webshop en klik op 'voer code in'!"; //Echo de code
} elseif(file_exists('codes/3438.php')) { //Check of de code nog bestaat
echo "Je code is: <b>3438</b>, ga terug naar de webshop en klik op 'voer code in'!"; //Echo de code
} elseif(file_exists('codes/6344.php')) { //Check of de code nog bestaat
echo "Je code is: <b>6344</b>, ga terug naar de webshop en klik op 'voer code in'!"; //Echo de code
} elseif(file_exists('codes/8263.php')) { //Check of de code nog bestaat
echo "Je code is: <b>8263</b>, ga terug naar de webshop en klik op 'voer code in'!"; //Echo de code
} elseif(file_exists('codes/3482.php')) { //Check of de code nog bestaat
echo "Je code is: <b>6344</b>, ga terug naar de webshop en klik op 'voer code in'!"; //Echo de code
} else {
echo "<center><font face=verdana size=3 color=red>OOPS!</br><font size=2 color=black>Er zijn geen codes beschikbaar!</center></font>"; //Als er geen codes meer zijn geef een foutmelding
}

?>


-- codes/3438.php --
<?

$code3438
= 3438;

?>


-- codes/3482.php --
<?

$code3482
= 3482;

?>


-- codes/4857.php --
<?

$code4857
= 4857;

?>


-- codes/6344.php --
<?

$code6344
= 6344;

?>


-- codes/8263.php --
<?

$code8263
= 8263;

?>


Misschien is de webshop heel slecht gescript, maar het is ook een project van een beginnertje he ;-)

Mijn vraag is trouwens nog steeds: [b]Hoe zet je de PHP Safe Mode uit?[/b]
Gewijzigd op 01/01/1970 01:00:00 door Damiaan Reijnaers
 
Joren de Wit

Joren de Wit

05/01/2008 16:33:00
Quote Anchor link
Quote:
Domme vraag misschien maar: Hoe zet je safe mode uit?
Dat zul je aan je host moeten vragen, dat kun je in ieder geval niet zelf...
 
Damiaan Reijnaers

Damiaan Reijnaers

05/01/2008 16:40:00
Quote Anchor link
'Blanche:
Quote:
Domme vraag misschien maar: Hoe zet je safe mode uit?
Dat zul je aan je host moeten vragen, dat kun je in ieder geval niet zelf...


Mm.. Dat is denk ik te veel gedoe, dat doe ik alleen als ik echt, ECHT niet anders kan.. is er niet een andere manier om deze warning weg te krijgen?
 
Joren de Wit

Joren de Wit

05/01/2008 16:43:00
Quote Anchor link
Nee.

Het gaat je gewoon niet lukken om met PHP bestanden te verwijderen die niet door PHP aangemaakt zijn als safe mode ingeschakeld is.

ps. Maar zoals ik al zei: is het niet veel slimmer om dit probleem op te lossen door het gebruik van een database?
 
Damiaan Reijnaers

Damiaan Reijnaers

05/01/2008 16:53:00
Quote Anchor link
'Blanche:
Nee.

Het gaat je gewoon niet lukken om met PHP bestanden te verwijderen die niet door PHP aangemaakt zijn als safe mode ingeschakeld is.

ps. Maar zoals ik al zei: is het niet veel slimmer om dit probleem op te lossen door het gebruik van een database?


Raar eigenlijk, want voordat ik code_check.php aangepast had, was die unlink functie er ook.. en deed hij het ook gewoon.

Ik heb geen verstand van MySQL, of beter gezegd amper verstand.. ik heb zelfs meer verstand van PHP (en dat is zoals je al gemerkt hebt heel erg weinig).. Maar lukt het wel als ik het bestand aanmaak met bijvoorbeeld fopen met 'a'? Bijvoorbeeld zo:

codes/tijdelijk.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$fp
=fopen("6344.php", "a");
fwrite($fp,"<?php

\$code6344 = 6344

?>
$code"
);
fclose($fp);

?>
Gewijzigd op 01/01/1970 01:00:00 door Damiaan Reijnaers
 
Joren de Wit

Joren de Wit

05/01/2008 16:57:00
Quote Anchor link
Ik zie het hele nut er niet van in om een PHP bestand te hebben met daarin
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$code6344
= 6344;
?>

Er zijn genoeg andere manieren om te registreren of een code al gebruikt is...
 
Arend a

Arend a

05/01/2008 16:59:00
Quote Anchor link
Je fout zit niet in de safe_mode. Deze is goed, en moet je zeker laten staan. Anders haal je je allerlij narigheid op de hals, en vertrouw me, dat wil je niet.

Quote:
$code6 = '/codes/3482.php';
$code7 = '/codes/8263.php';
$code8 = '/codes/6344.php';
$code9 = '/codes/3438.php';
$code0 = '/codes/4857.php';


Hier zit de fout, je geeft een absoluut pad op.

Ik raad je van harte aan om van het hele rare idee afstappen om losse php bestanden als database te gebruiken, en gewoon een fatsoenlijke manier van een database te gebruiken. Ik raad je ten zeerste af om hiermee verder te gaan, en eerder om een soort andere wijze te gebruiken. Dit is ook niet schaalbaar: voor elke 'code' moet je nieuwe regels toevoegen in je phpcode. Wat als je 100 codes wil? Of 1000?

Een simpele manier is bijvoorbeeld om een tabel in mysql te maken waarin je een lijst met codes hebt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
create table codes (
  id int(4) not null,
  taken tinyint(1) not null default 0,
  primary key(id)
);



Dit scriptje zal min of meer het zelfde doen, maar dan veilig en schaalbaar en zonder fratsen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

$iId
= $_POST['id'];
if (!is_int($iId)) {
  // hier jouw error afhandeling:
  echo "Geen geldige id meegegeven";
  exit;
}


$oDbh = mysql_connect("localhost","jouw_user","jouw_pass");
mysql_select_db("jouwdatabase");

$sQuery = "SELECT id,taken FROM codes WHERE id = " . $iId . " AND taken = 0";
$oSth = mysql_query($sQuery);

if (!$oSth) {
  echo "mysql error " . mysql_error() . " met query: " . $sQueryEsc;
  exit;
}


if (mysql_num_rows($oSth) != 1) {
  echo "Id bestaat niet!"
  exit;
}


$aRow = mysql_fetch_assoc($sth);

$sQuery2 = "UPDATE codes WHERE id = " . $iId . " SET taken = 1";
$oSth2 = mysql_query($sQuery);
if (!$oSth2) {
  echo "mysql error " . mysql_error() . " met query: " . $sQuery2;
  exit;
}

?>
 
AJ

AJ

05/01/2008 17:06:00
Quote Anchor link
je kunt ook doen:
Dit werkt namelijk ook in safe mode.
Niet getest, maar zal wel werken.
Ander proberen met = 'true' inplaats van == 'true'

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
if (file_get_contents($bestandje) == 'TRUE'){
hier de code
}
?>
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.