Hoe kan ik waardes in een formulier verwerken?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans Ten Wolde

Hans Ten Wolde

05/07/2016 15:02:59
Quote Anchor link
Hallo Allemaal,

Ik probeer dit jaar een overzicht bij te houden van het aantal gescoorde goals van mijn elftal.

Ik ben (met zoeken op het forum hier en een aantal lesjes) zo ver als dit gekomen:

scores.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
<?PHP

$score_marco
= "2 Goals";
$score_nils = "4 Goals";
$score_andre = "0 Goals";
$score_cor = "0 Goals";
$score_matthieu = "1 Goals";
$score_adri = "2 Goals";
$score_hans = "1 Goals";
$score_johan = "0 Goals";
$score_nico = "5 Goals";
$score_michel = "0 Goals";
$score_rene = "2 Goals";
$score_robert = "0 Goals";
$score_peter = "3 Goals";
$score_berend = "0 Goals";

?>


En dit, index.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
<?PHP

    include('scores.php');

?>

<html>

<head>
<meta http-equiv="Content-Language" content="es">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Scores 5de SCK</title>
<style>
<!--
.tekst       { font-family: Arial; font-size: 10pt }
-->
</style>
</head>

<body>

<p>Marco: <?php echo "$score_marco"; ?></p>
<p>Nils: <?php echo "$score_nils"; ?></p>
<p>Andre: <?php echo "$score_andre"; ?></p>
<p>Cor: <?php echo "$score_cor"; ?></p>
<p>Matthieu: <?php echo "$score_matthieu"; ?></p>
<p>Adri: <?php echo "$score_adri"; ?></p>
<p>Hans: <?php echo "$score_hans"; ?></p>
<p>Johan: <?php echo "$score_johan"; ?></p>
<p>Nico: <?php echo "$score_nico"; ?></p>
<p>Michel: <?php echo "$score_michel"; ?></p>
<p>Rene: <?php echo "$score_rene"; ?></p>
<p>Robert: <?php echo "$score_robert"; ?></p>
<p>Peter: <?php echo "$score_peter"; ?></p>
<p>Berend: <?php echo "$score_berend"; ?></p>

</body>

</html>


Mijn vraag is, is het mogelijk om de waardes in scores.php in een formulier te plaatsen zodat als bijv. Michel een keer scoort (dat zal me wat wezen maar OK :) dat het dan in een formulierveld wordt aangepast ipv in de php code?

Alvast bedankt voor jullie hulp,

Groet, Hans
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt![/modedit]
Gewijzigd op 05/07/2016 15:11:15 door Hans Ten Wolde
 
PHP hulp

PHP hulp

03/12/2024 00:50:19
 
- Ariën  -
Beheerder

- Ariën -

05/07/2016 15:08:08
Quote Anchor link
Dat is zeker mogelijk, maar waar en hoe wil je het opslaan?
Heb je daar al over nagedacht?

Schrijven naar je scores.php bestand kan, maar is vrij complex en dermate ongestructureerd dat je beter een speciaal format kan gebruiken.

Bij voorkeur een MySQL-database die je met de MySQLi-functies aanroept, of anderzijds een XML-file, om wat mogelijkheden te noemen. Met een database kan je overigens de data ook berekenen. Wat dacht je bijvoorbeeld van alle goals van Klaasje die hij gemaakt heeft, zodat je hem kan eren als hij zijn 100e goal gebaald heeft in zijn carriére?
Gewijzigd op 05/07/2016 15:09:42 door - Ariën -
 
Hans Ten Wolde

Hans Ten Wolde

05/07/2016 15:13:01
Quote Anchor link
Oh, bedankt, ik zat al te balen dat het er zo rommelig uitzag :)

Ja, dat zou helemaal te gek zijn maar ben een leek wat dat betreft :/ worden dus weer late uurtjes en veel proberen, ha ha

Is een xml bestand wel direct via een formulier aan te passen?
 
- Ariën  -
Beheerder

- Ariën -

05/07/2016 15:19:08
Quote Anchor link
Ja, je zult dan wel de juiste elementen in het bestand aan moeten passen.
Mijn voorkeur gaat uit naar een database, daar kan je de data ook heel makkelijk in opslaan en archiveren.
 
Michael -

Michael -

05/07/2016 17:38:17
Quote Anchor link
Voorkeur gaat zeker uit naar een database. Hier kan je veel meer mee. Je van elke wedstrijd de eindstand en doelpunten kunnen opslaan en vervolgens een lijst kunnen weergeven met aantal doelpunten per speler, meeste doelpunten in een wedstrijd, hatricks, doelpunten per seizoen, etc etc.

Om alleen de doelpunten op te slaan kun je ook een ini file gebruiken.

Ik had nog iets liggen en heb het voor jouw situatie aangepast. Als je meer wil zou je toch moeten uitwijken naar een database.

Voorbeeld

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
<?php
$file
= 'goals.ini';

$soccerTeam = array(
    'Marco',
    'Nils',
    'Andre',
    'Cor',
    'Matthieu',
    'Adri',
    'Hans',
    'Johan',
    'Nico',
    'Michel',
    'Rene',
    'Robert',
    'Peter',
    'Berend',
);

  
if($_SERVER['REQUEST_METHOD'] == 'POST') {
 
    if(isset($_POST['btn_save'])) {
        $data = '[Goals]'.PHP_EOL;
        foreach($soccerTeam as $player) {
            if(isset($_POST[$player.'Goals'])) {
                $data .= $player . '=' . $_POST[$player.'Goals'].PHP_EOL;
            }
        }

        file_put_contents($file, $data, LOCK_EX);
        echo '<p>Gegevens zijn opgeslagen</p>';
    }
}


echo '<form method="POST">';

foreach($soccerTeam as $player) {
    echo '<label>' . $player . '</label><input type="number" name="' . $player . 'Goals" value="'  . (isset($ini[$player]) ? $ini[$player] : '0') . '" /><br />';
}


echo '<button type="submit" name="btn_save">Opslaan</button>'
    .'</form>';
?>


De doelpunten weergeven op een andere pagina kan dan alsvolgt
Wijziging: De Array soccerTeam is niet nodig voor het weergeven.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$file
= 'goals.ini';

if(file_exists($file)) {
    $ini = parse_ini_file($file, true);
    echo '<p>'.PHP_EOL;
    foreach($ini['Goals'] as $player=>$goals) {
        echo '<strong>' . $player . '</strong> heeft <strong>' . $goals . '</strong> doelpunten gemaakt.<br />'.PHP_EOL;
    }

    echo '</p>'.PHP_EOL;
}

?>
Gewijzigd op 06/07/2016 17:38:52 door Michael -
 
Hans Ten Wolde

Hans Ten Wolde

06/07/2016 22:16:49
Quote Anchor link
Nou, super gewoon!!

Precies goed :-)

Hartstikke bedankt man, helemaal top
 
Michael -

Michael -

06/07/2016 22:32:37
Quote Anchor link
Graag gedaan!
 



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.