[PHP]

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

  • vandenhork25
  • Registratie: April 2002
  • Laatst online: 23-12-2017
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:

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 ]


  • vandenhork25
  • Registratie: April 2002
  • Laatst online: 23-12-2017
Ik heb geen onderwerp ingevuld, maar ik wist niet meer hoe ik dit moest wijzigen.

Zo allemaal bijgewerkt. Behalve dan nog het onderwerp, maar dat heb ik al gezegd in schop een modje.

[ Voor 40% gewijzigd door vandenhork25 op 04-05-2003 16:58 ]


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

vandenhork25 schreef op 04 mei 2003 @ 16:51:
Ik heb geen onderwerp ingevuld, maar ik wist niet meer hoe ik dit moest wijzigen.
dat kan je aanvragen in Schop een Modje
ook kan je de edit knop gebruiken ipv een extra post, als je dan toch gaat editen, gebruik dan voor php code niet de [code]-tag maar [php] dan is het een stuk leesbaarder ;)
o, en ook je nickname kan je aan het eind van je post weglaten, is nogal dubbelop enzo :)

[ Voor 10% gewijzigd door Erkens op 04-05-2003 16:53 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Als je in je form zoiets doet:

HTML:
1
2
3
<input type="hidden" name="nieuwsbericht[1]" value="nummertje 1" />
<input type="hidden" name="nieuwsbericht[2]" value="nummertje 2" />
<input type="hidden" name="nieuwsbericht[3]" value="nummertje 3" />


dan krijg je in je PHP netjes een array:

PHP:
1
2
3
echo '1: '.$_POST['nieuwsbericht'][1];
echo '2: '.$_POST['nieuwsbericht'][2];
echo '3: '.$_POST['nieuwsbericht'][3];


:)

Intentionally left blank


  • vandenhork25
  • Registratie: April 2002
  • Laatst online: 23-12-2017
Dat werkt niet, want dan klopt mijn javascript code niet meer :(

Verwijderd

probeer dit eens:

<?php
$p = 1;

for($i=0; $i<4; $i++)
{
$s = $p + $i;
echo "$bericht$s";
}
?>

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 had al eerder op IRC een verwijzing naar de search gemaakt, waarin een topic stond over variabele variabelen.

Aangezien hier nog niets mee gedaan is.. Wat is verkeerd aan dat topic? Wat werkt er niet aan? Wat klopt er niet in relatie tot jouw probleem?

[ Voor 20% gewijzigd door gorgi_19 op 04-05-2003 21:58 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Nee volgens mij bedoelt hij dat niet. Hoewel het verstandiger is om arrays te gebruiken werkt dit waarschijnlijk ook:
PHP:
1
2
3
for($i=0;$i<30;$i++) {
  echo $nieuwsbericht{$i};
}


Hier wat meer info hierover:
http://www.php.net/manual/en/language.variables.variable.php

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:17
vandenhork25 schreef op 04 mei 2003 @ 19:07:
Dat werkt niet, want dan klopt mijn javascript code niet meer :(
Er wordt in P&W van je verwacht dat je zelf ook wel wat moeite wilt doen om iets werkend te krijgen.
Daarnaast volstond het ook als je enkel de relevante code gepost had.

Kijk ook eens naar de link die gorgi_19 geeft.

Succes.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.