[PHP] Avatar kies script

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Kaasje123
  • Registratie: Juli 2005
  • Laatst online: 20-09 11:52
Ik wil graag een avatar script hebben waar mensen mijn avatar mee kunnen kiezen. Ik heb namelijk een eigen servertje waar een aantal avatars op staan en nu wil ik mensen op mijn website laten kiezen welke avatar ik heb op forums.

Welnu ik ben al een eind gekomen maar het wil me maar niet lukken. Ik snap eigenlijk ook niet goed waarom het niet wil want ik ben echt er al uren mee bezig geweest maar om 1 of andere reden is er een schrijf probleem naar een .dat file toe. Het kan niet zo zijn dat ik de chmod niet goed heb staan want het is mijn eigen computer die ik gebruik als server en andere scripts van mij werken wel gewoon.

Het script dat niet wil werken is het volgende

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
<?    

   if (isset($submit)){   
   include ("icon.dat");   
  $iconnummer = $nummer;   
   $file = fopen ("icon.dat","w");   
   fputs($file, "<");   
   fputs($file, "? $");   
   fputs($file, "iconnummer=$iconnummer ?");   
   fputs($file, ">");   
   fclose ($file);   
   echo "$iconnummer is nu geselecteerd";   
    }   
else {   

  echo '<FORM METHOD=POST ACTION="edit.php">';   
    echo  '<input type="radio" name="nummer" value="1">';   
    echo "[img]'icon1.png'><BR[/img]";   
       
    echo  '<input type="radio" name="nummer" value="2">';   
    echo "[img]'icon2.png'><BR[/img]";   
       
    echo  '<input type="radio" name="nummer" value="3">';   
    echo "[img]'icon3.png'><BR[/img]";   
       
    echo  '<input type="radio" name="nummer" value="4">';   
    echo "[img]'icon4.png'><BR[/img]";   

    echo  '<INPUT TYPE="submit" NAME="submit">';   
    echo '</FORM>';   
      
}   

echo "Huidig icoon: [img]\"ava.php\"[/img]";   
?>


wat dus het probleem is is dat icon.dat leeg is en leeg blijft. Naar mijn weten heb ik niets fout gedaan en er wordt ook geen fout weergeven als ik het script start. ava.php werkt in principe ook ware het niet dat ik niets te zien krijg omdat icon.dat leeg blijft.

Dit is mijn code voor ava.php

code:
1
2
3
4
5
6
7
8
9
10
<?    
header ("Content-type: image/png");   
header("Cache-Control: no-cache, must-revalidate");     

include ("icon.dat");   
$icon = ImageCreateFromPNG("icon$iconnummer.png");   

Imagepng($icon);   
ImageDestroy($icon);   
?>



Ik draai hier php 4.2.3 met apache 1.3.27

ik hoop dat ik mijn post volledig genoeg gemaakt heb en iedereen die me een zetje in de oplossing kan geven heel erg bedankt _/-\o_

Acties:
  • 0 Henk 'm!

Verwijderd

Ik zou niet weten waarom hij niets in het bestand schrijft. Ik kan je wel vertellen dat het met de huidige code alleen maar mooi is dat het bestand leeg blijft, want anders kon iedereen willekeurige PHP code uitvoeren op je server.

code:
1
2
$iconnummer = $nummer;   
fputs($file, "iconnummer=$iconnummer ?");

en
code:
1
include ("icon.dat");


Denk eens goed na over deze opzet van je code!

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op vrijdag 17 februari 2006 @ 23:49:
Ik zou niet weten waarom hij niets in het bestand schrijft.
ik gok register_globals :)
Ik kan je wel vertellen dat het met de huidige code alleen maar mooi is dat het bestand leeg blijft, want anders kon iedereen willekeurige PHP code uitvoeren op je server.
idd ja :X

Het beste kan je gewoon (na de userinput gechecked te hebben op een geldige waarde) alleen deze waarde wegschrijven.
En met het uitlezen lees je die waarde weer uit en kan je hem gebruiken, PHP code wegschrijven is nergens nodig voor iig :)

Acties:
  • 0 Henk 'm!

  • Kaasje123
  • Registratie: Juli 2005
  • Laatst online: 20-09 11:52
ok bedankt allebei. Ik zal er weer eens goed over na denken en de boel herschrijven waar nodig. Zoals je waarschijnlijk gemerkt heb ben ik geen expert op dit gebied maar oefening baart kunst.