gezocht: nederlandse tutorial over het doorgeven van data naar een andere pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henk Guuwis

Henk Guuwis

07/01/2013 13:58:46
Quote Anchor link
Beste community,

Ik zoek een NL tutorial over het doorgeven van data naar een andere pagina. Ik heb er al een hoop gelezen, en allemaal maken ze gebruik van forms binnen een PHP script. Maar ik gebruik een automatisch gegenereerd form(via drop&drag) omdat anders de locatie van verschillende radio en input vakken niet goed is. Ik laat dan de actie uitvoeren van een script dat telt hoevaak ja is aagevinkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

if ($_SERVER['REQUEST_METHOD']=="POST")
{

    $aantal = array_count_values($_POST);
    echo "Jouw score: " . $aantal['ja'] . " punten";
}

?>

maar ik wil dus dat het aantal keer ja op de volgende pagina (HTML) wordt weergegeven, binnen de website, dus niet als los php script. Heeft iemand hier een tutorial over? Ik bedoel dit niet als een script request, ik wil weten hoe het moet.

Mvg,

Henk
 
PHP hulp

PHP hulp

24/11/2024 08:41:10
 
Chris PHP

Chris PHP

07/01/2013 14:06:33
Quote Anchor link
Je kunt met alleen HTML dit niet doen. Dus dan zul je of PHP moeten gebruiken of JS.

Edit: typo
Gewijzigd op 07/01/2013 14:07:12 door Chris PHP
 
Kris Peeters

Kris Peeters

07/01/2013 15:00:37
Quote Anchor link
Henk, ik denk dat je beter zal geholpen worden met kleine, specifieke vragen.
De tutorial die je zoekt, zal je niet zomaar integraal vinden.

Zullen we eens zien naar die radio buttons? Vertel eens.
 
Henk Guuwis

Henk Guuwis

07/01/2013 15:01:08
Quote Anchor link
Oke, ik heb deze code:
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
<?php
 
// First of all set the default page to show, in this case the form.
$page = "pagina114.php";
 
// Determine whether or not the form has been submitted.
if (isset ($_POST['submit'])) {
// Calculate the score.
$score = array_count_values($_POST);

// Select the page to show.
$page = "pagina120.php";
}

 
// Some other PHP code here, if necessary.
?>


in de form bovenaan gezet, op de form.php (pagina114.php) pagina. Op de result.php (pagina120.php) heb ik de code gezet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $score; ?>


het probleem is nu dus dat hij de form pagina gewoon refreshed (of eigenlijk eropnieuw naar toegaat) terwijl ik gewoon de tutorial heb gevolgd. Iemand een oplossing?

Mvg,

Henk

EDIT: dit is hoe de radio buttons eruit zien:
<input type="radio" id="radio_79" name="Groep1" VALUE="ja" style="position:absolute; left:877px; top:278px;>
Gewijzigd op 07/01/2013 15:06:37 door Henk Guuwis
 
Kris Peeters

Kris Peeters

07/01/2013 15:11:35
Quote Anchor link
(EDIT: ik zie dat je ondertussen al wat informatie hebt aangevuld)

Quote:
Maar ik gebruik een automatisch gegenereerd form(via drop&drag) omdat anders de locatie van verschillende radio en input vakken niet goed is.


Leg dit eens uit.

Wie genereert dat? op basis waarvan? (als je dat ergens gevonden hebt: toon eens de url)

Verder toch even dit: een radio button dient om 1 keuze te maken uit een aantal opties. Een checkbox werkt autonoom. Elke checkbox kan onafhankelijk van de andere worden gecheckt (of niet).
Ik heb het gevoel dat jij checkboxes nodig hebt; niet radio buttons. Kan dat kloppen?
Gewijzigd op 07/01/2013 15:14:05 door Kris Peeters
 
No One

No One

07/01/2013 15:15:17
Quote Anchor link
heb je er al eens aangedacht de target in de form tag te wijzigen? dan submit ie wel de data naar die pagina120.php maar dan kan je daar ook wel de afhandeling doen ;)
 
Henk Guuwis

Henk Guuwis

07/01/2013 15:17:02
Quote Anchor link
Nee nee, ik gebruik webplusx5, en ik heb een form gemaakt, via de opties die beschikbaar zijn binnen dat programma. Dus gewoon een leeg wizardform neerzetten en de radio buttons erinslepen. Vervolgens komt dit eruit: http://pastebin.com/gRkNDnUg
Ik heb via de form een test gemaakt met 23 vragen maar mensen ja of nee (dus via radio) op moeten invullen, en de PHP code zou dan de aantal ja's moeten tellen. En die vervolgens op de volgende pagina laten zien (via de echo). Het probleem zit hem niet in de form, maar juist in de PHP code, want als ik dus op bereken score (submit button) klik, refreshed hij gewoon pagina114. Terwijl de tutorial mij zei dat de pagina dan automatisch doorzou gaan naar pagina 120. Dus ik denk dat ik iets van een header erin moet zetten, maar geen idee hoe en waar.
 
No One

No One

07/01/2013 15:22:35
Quote Anchor link
toch is dat DE oplossing...maar goed...je moet de $score in een sessievariabele zetten ..dus $_SESSION['score'] (niet vergeten session_start() aan te roepen bovenaan elk script) of als een variabele in de querystring:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$page="/pagina120.php?score=".$score;
header("Location: $page");
exit;
 
Kris Peeters

Kris Peeters

07/01/2013 15:40:27
Quote Anchor link
Zie hier eens naar.
Een voorbeeld van wat je kan doen.
We steken al die buttons in een array, dan kan je ze simpelweg in een foreach zetten.

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
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  if (! empty($_POST['vraag'])) {
    // we overlopen alle radio buttons
    foreach($_POST['vraag'] as $key => $value) {
      echo '<p>Vraag ' . $key . ': ' . $value . '</p>';
    }
  }
}

?>

<form method="post" action="">
  <h3>Vraag 1</h3>
  <input type="radio" value="ja" name="vraag[1]"> ja
  <input type="radio" value="nee" name="vraag[1]"> nee

  <h3>Vraag 2</h3>
  <input type="radio" value="ja" name="vraag[2]"> ja
  <input type="radio" value="nee" name="vraag[2]"> nee

  <h3>Vraag 3</h3>
  <input type="radio" value="ja" name="vraag[3]"> ja
  <input type="radio" value="nee" name="vraag[3]"> nee
  
  <input type="submit" value="GO">
</form>


Om te tellen hoeveel keer de gebruiker op ja klikte... hou een teller bij in de foreach.

Iets als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    $teller
= 0;
    foreach($_POST['vraag'] as $key => $value) {
      if ($value === 'ja') {
        $teller++;
      }
    }

    echo 'aantal keer ja: ' . $teller;
?>


Hiermee geholpen?
 
Henk Guuwis

Henk Guuwis

07/01/2013 15:53:39
Quote Anchor link
Ja hartelijk dank, ik ga deze proberen toe te passen (mijn webcreator Webplusx5 doet moeilijk met het verandere van html in al bestaand iets) en ik laat het horen. ik zie al dat bij jou het cijfer van de vraag tussen haakjes staat, dat had k sowieso al niet. Het probleem blijft nog steeds dat hij gewoon de pagina refreshed ivp dat hij naar de volgende pagina gaat, maar ik denk dat het dus aan de instellingen van de pagina ligt. Ik ga op onderzoek
 
Kris Peeters

Kris Peeters

07/01/2013 16:17:18
Quote Anchor link
Henk Guuwis op 07/01/2013 15:53:39:
...Het probleem blijft nog steeds dat hij gewoon de pagina refreshed ivp dat hij naar de volgende pagina gaat ...


Wel ja; je moet zien aan het einde van if ($_SERVER['REQUEST_METHOD'] === 'POST') {
Daar kan je de gebruiker naar een andere pagina sturen.

bv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
...

header('location: volgende_pagina.php');
exit;
}

?>
 
No One

No One

07/01/2013 16:34:19
Quote Anchor link
@Henk...ik zou sowieso niet zoiets gebruiken als webplusx5, maar zelf leren je html / php te schrijven...
 
Henk Guuwis

Henk Guuwis

07/01/2013 16:46:56
Quote Anchor link
Daar heb je helemaal gelijk in No One, maar het gaat 100x sneller met een programma als webplus, zeker voor alle onzinnige dingen als tekst, en de plaatsing op welke locatie van dingen. En opzich werkt ook alles prima, ik heb alleen echt ontzettend veel gezeik met dit stukje. Ik heb gisteren het gastenboek (mysql,php) werkend gekregen, de PHP mailingfunction werkt prima, maar dit stukje php heeft iets tegen mij denk ik. Nou ben ik ook wel zo ongeveer de grootste newbie hier, maar toch.
 



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.