Hoi mensen, daar ben ik weer met hetzelfde probleem;
Van pagina 1 worden 2 sessions aangemaakt, te weten;

<?php
session_start();
$_SESSION['edit'] = $_POST['edit']; 
$_SESSION['correctie'] = $_POST['correctie'];
include "editor_nw_opdracht.php";
?>


$_SESSION['edit'] staat voor elk bestand dat is gekozen uit een rij geuploade bestanden en $_SESSION['correctie'] staat voor corrigeren of niet corrigeren per bestand. Dit moet om verschillende redenen apart te kiezen blijven. Op editor_nw_opdracht.php heb ik dit;

<?php
session_start();
$_SESSION['edit'] = (empty($_POST['edit'])?$_SESSION['edit']:$_POST['edit']); 

foreach ($_SESSION['edit'] as $bestanden => $waarde) 
{
echo $bestanden;
echo '&nbsp;('.$_SESSION['correctie'][$bestanden].')';
if(empty($_SESSION['correctie']) )
{
  echo $_SESSION['correctie'].' heeft geen waarde.';
}

if(!empty($_SESSION['correctie']) )
{
  echo $_SESSION['correctie'].' heeft wel een waarde.';
}
}
?>


$_SESSION['correctie'][$bestanden] wordt keurig weergegeven wanneer ik voor de eerste keer deze pagina open maar wanneer het formulier op deze pagina zich ververst blijft $bestanden keurig staand maar $_SESSION['correctie'] geeft aan dat deze geen waarde heeft.

Hoe kan het dat $bestanden blijft staan en zijn waarde blijft behouden terwijl $_SESSION['correctie' leeg wordt? Is hier een oplossing voor?
En action is naar zichzelf of naar pagina 1?
Naar zichzelf bij het samenstellen van de opdracht

<FORM METHOD="POST" ACTION="<?php echo $_SERVER['PHP_SELF']; ?>"> 

en als alles is samengesteld en de berekening van de prijs is ok dan kan deze opdracht bevestigd worden via een button

<input type="submit" name="submit" value="OK">

die alle info weer terug stuurt naar pagina 1 (snap je het nog...?).
Maar hij wordt toch geïnclude in pagina 1?
Klopt, dus vandaar dat bij het samenstellen van de opdracht via de dropdowns het formulier naar zichzelf terug keert in de action. Dit moet omdat na het samenstellen van de opdracht er onderaan het formulier een button is

<input type="submit" name="bereken" value="Kostprijs">

die de mogelijkheid geeft alvorens de opdracht definitief te maken de kostprijs berekend en toont via een echo. Het is vervelend om te zeggen, maar ik moet nu weg en kom er later op terug. Bedankt alvast tot zover voor alle moeite!
Dan MOET je dus een error krijgen.
Ook dat klopt maar die hebben alleen met het formulier te maken en niet met de opsomming van de gekozen bestanden, vandaar dat ik net zei dat ik geen errors kreeg...
Je hoort een headers already sent error te krijgen. ;)

Edit: Dus maak dit er eens van:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
session_start();
$_SESSION['edit'] = $_POST['edit'];
$_SESSION['correctie'] = $_POST['correctie'];
include "editor_nw_opdracht.php";
?>
Beste mensen, ik ben er uit! Ik had dit op pagina 1;

<?php
if ($_POST['edit'] !== '')
{
error_reporting(E_ALL); 
ini_set("display_errors", 1); session_start();
$_SESSION['edit'] = $_POST['edit']; 
$_SESSION['correctie'] = $_POST['correctie'];
include "editor_nw_opdracht.php";
}
}
else
{
session_start();
$_SESSION['correctie'] = $_POST['correctie']; 
include "editor_nw_opdracht.php";
}
?>


Maar het moet zijn;

<?php
if ($_POST['edit'] !== '')
{
error_reporting(E_ALL); 
ini_set("display_errors", 1); session_start();
$_SESSION['edit'] = $_POST['edit']; 
$_SESSION['correctie'] = $_POST['correctie'];
include "editor_nw_opdracht.php";
}
}
else
{
include "editor_nw_opdracht.php";
}
?>


Zoals Steen en SanThe al vermoeden kreeg ik dus door het eerste stukje een lege $_POST. Bedankt voor jullie ondersteuning!
Mijn laatste vraag is; hoe kan ik nu in de opsomming van de lijst met bestanden waarbij sommige als 'corrigeren' worden weergegeven tellen hoeveel er gecorrigeerd moeten worden. Ik heb het zo geprobeerd maar dat werkt niet;

<?php
if ($_SESSION['correctie'][$bestanden] = 'corrigeren')
{
$hoeveelcorrectie = count($_SESSION['correctie'][$bestanden]);
$_SESSION['hoeveelcorrectie'] = $hoeveelcorrectie; 
}
Eindelijk ik eens :p

Bumpen
Twee of meer keer achter elkaar in een topic posten, voordat andere forumleden gereageerd hebben, heet "bumpen". Omdat het opdringerig overkomt is bumpen pas na 24 uur toegestaan.

Reageren