Ik zit met een probleempje. Ik ben bezig met een nieuws editor, zodat ik het nieuws op mijn website overal kan wijzigen. Het nieuws word uit een tekst bestandje gehaald, omdat het maar weinig regels zijn heeft het geen zin om een hele database aan te maken. Nieuws toevoegen en zo lukt nu allemaal. Maar nu wil ik dus ook het nieuws wijzigen. Het is me al gelukt om het nieuw tevoorschijn te toveren en ik kan het ook wijzigen op de webpagina zelf, alleen als ik dat op opslaan druk wil ik dat het word opgeslagen in een tekst bestandje. Maar dat wil dus niet echt lukken. Ik denk dat ik het eerst allemaal in een array moet opslaan en daarna in het tekstbestandje (klopt dit?) Maar voordat ik daar aan kan gaan beginnen zit ik met nog een probleempje. Ik zal eerst ff de code laten zien:
Zoals je kunt zien krijg ik nu dus een input type met als name nieuwsbericht1, nieuwsbericht2 etc. Deze kan ik direct weer oproepen in nieuws_opslaan.php doormiddel van echo $nieuwsbericht1
Maar, ik weet dus niet van tevoren hoeveel nieuwsberichten ik heb dus wil ik dit in een lus gaan doen, maar nu komt dus het probleem.
Ik wil dus zoiets doen als dit:
Maar ja dat $nieuwsbericht$P werkt dus niet, maar hoe kan ik dat anders doen?
Ik heb echt geen idee en ben er al een tijdje mee bezig.
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
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
| <body bgcolor=#FFFFFF background='plaatjes/bg.gif'> [img]'plaatjes/nieuws_editor.gif'[/img] <blockquote> <form name='form1'> <select name='select1' onchange="javascript:list()"> <?php # Titels inlezen # Gemaakt door Thom van den Hork # 12-04-2003 $bestand = file("nieuws.txt"); $I = 1; while(list($sleutel,$gegevens) = each($bestand)){ $nieuwsarray = unserialize($gegevens); echo "<option name='option$I'>$nieuwsarray[0]</option>" . "\n"; $I++; } ?> </select><p> <textarea name='tekstvak' rows=8 cols=80 style='font-family: arial'></textarea><p> </form> </blockquote> <form name='form2' method="POST" action="nieuws_opslaan.php"> <blockquote><input type="button" name="button1" value="Wijzigen" onclick="javascript:wijzigen()"> <input type="submit" name="button2" value="Opslaan"></blockquote> <?php # Nieuwsberichten inlezen # Gemaakt door Thom van den Hork # 12-04-2003 $bestand = file("nieuws.txt"); $I = 1; // Nieuws klaarmaken om weergegeven te worden while(list($sleutel,$gegevens) = each($bestand)){ $nieuwsarray = unserialize($gegevens); echo "<input type='hidden' name='titel$I' value='$nieuwsarray[0]' size=20>" . "\n"; echo "<input type='hidden' name='nieuwsbericht$I' value='$nieuwsarray[1]' size=50>" . "\n"; echo "<input type='hidden' name='datum$I' value='$nieuwsarray[2]' size=8><br>" . "\n"; $I++; } ?> </form> <script language="javascript"> function list(){ <?php $bestand = file("nieuws.txt"); $aantal = count($bestand); $waarde = $aantal - 1; $P = 1; for($I=0; $I<=$waarde; $I++) { echo "if (document.form1.select1.options[$I].selected == true)" . "\n"; echo "document.form1.tekstvak.value = document.form2.nieuwsbericht$P.value" . "\n"; $P++; } ?> } document.form1.tekstvak.value = document.form2.nieuwsbericht1.value; function wijzigen(){ <?php $bestand = file("nieuws.txt"); $aantal = count($bestand); $waarde = $aantal - 1; $P = 1; for($I=0; $I<=$waarde; $I++) { echo "if (document.form1.select1.options[$I]. selected == true)" . "\n"; echo "document.form2.nieuwsbericht$P.value = document.form1.tekstvak.value" . "\n"; $P++; } ?> window.alert("De tekst is gewijzigd"); } </script> </body> |
Zoals je kunt zien krijg ik nu dus een input type met als name nieuwsbericht1, nieuwsbericht2 etc. Deze kan ik direct weer oproepen in nieuws_opslaan.php doormiddel van echo $nieuwsbericht1
Maar, ik weet dus niet van tevoren hoeveel nieuwsberichten ik heb dus wil ik dit in een lus gaan doen, maar nu komt dus het probleem.
Ik wil dus zoiets doen als dit:
PHP:
1
2
3
4
5
6
7
| $P = 1; for($I=0; $I<=$waarde; $I++) { echo $nieuwsbericht$P; $P++; } |
Maar ja dat $nieuwsbericht$P werkt dus niet, maar hoe kan ik dat anders doen?
Ik heb echt geen idee en ben er al een tijdje mee bezig.
[ Voor 26% gewijzigd door vandenhork25 op 04-05-2003 16:54 ]