variabelen kwijt
De link: http://www.sarahgeleyn.be/werkmap/previews/login.php
(Dat werkt en het paswoord wordt meegenomen naar de pagina 'main3.php' waar de foto's en bestelformuliet verschijnen.
Als het proces de eerste maal wordt uitgevoerd verloopt alles prima. De foto's verschijnen, het overzicht van de reeds bestelde foto's en het invulformulier (alles dient nog een juiste look te krijgen).
Als het bestelformulier ingevuld is en ik druk op 'submit', dan wordt het overzicht wel aangepast met de nieuwe gegevens, maar de foto's en de klantgegevens (in dit geval als voorbeeld d,e,f onder elkaar) verschijnen niet meer.
Ik heb al van alles geprobeerd met global, $fotomap = $_POST['pass']; , enz, maar ik kom er echt niet uit. Kan iemand mij helpen?
Dit is het script van 'main3.php' (afgekeken van 'ardguest'). Er staat nog wel wat teveel in maar dat is nu onbelangrijk.
Alleen relevante code plaatsen aub...
Gewijzigd op 28/01/2012 01:00:00 door Erik Rijk
Zet dit bovenin je script:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest
?>
Je controles in het formulier werken nog niet goed. Als ik overal tekst in vul, wordt het geaccepteerd, terwijl fotonummer (max. 2 posities?) en aantal _altijd_ een getal zullen moeten zijn. En waarom bij formaat geen dropdown met de mogelijke formaten?
Ook vind ik het een raar gezicht dat "verwijderen uit bestellijst" doorgestreept staat.
Overigens is je formulier opgemaakt met een tabel; niet helemaal meer van deze tijd. Vreemder vind ik nog dat het formulier helemaal rechts wordt uitgelijnd. Waarom niet gecentreerd?
Bij formaat komt inderdaad nog een dropdown met daar de stukprijs bij. Verwijderen uit bestellijst moet ook nog afgewerkt worden, maar dat is allemaal voor een volgende stap. Het formulier wordt niet rechts uitgelijnd hoor, links komen de foto's en die zullen niet verschenen zijn. Dat is juist mijn probleem. Als er iets ingevuld wordt dan wordt alles wel aangepast, maar met de 'refresh' verschijnen de foto's niet meer.
Enig idee?
SanThe, ik ga dat eens proberen.
Toevoeging op 28/01/2012 10:23:43:
SanThe, ik krijg nu volgende foutmelding:
Notice: Undefined index: pass in /home/alduid/public_html/sarahgeleyn/werkmap/previews/main3.php on line 25. Dezelfde melding voor line 58 en 98.
Het gaat hem dus om de regel: $fotomap = $_POST['pass']; en dat is nu juist mijn probleem: bij een refresh ben ik mijn variabelen kwijt.
$_POST['pass'] bestaat dus blijkbaar niet. Een $_POST bestaat alleen direct na het submitten van een formulier.
Sla die variabele op in een sessie.
En wat doe ik dan met deze regel, met betrekking tot .$fotomap.:
"$files = glob("../JavaPowUpload/Extra/FileProcessingScripts/PHP/UploadedFiles/".$fotomap."/*.*");"
Wordt ".$fotomap." dan "$_SESSION['fotomap']"?
Wat staat er in $fotomap (of wat moet daar in komen te staan) en wat staat er in $_POST['pass']? Die pass lijkt me een code, of is dat de fotomap?
Marcus geleyn op 28/01/2012 12:39:25:
Ok, bijna begrepen. Wat zet ik dan in het begin van de pagina: "$_SESSION['fotomap'] = $fotomap;" of "$_SESSION['fotomap'] = $_POST['pass'];" ?
En wat doe ik dan met deze regel, met betrekking tot .$fotomap.:
"$files = glob("../JavaPowUpload/Extra/FileProcessingScripts/PHP/UploadedFiles/".$fotomap."/*.*");"
Wordt ".$fotomap." dan "$_SESSION['fotomap']"?
En wat doe ik dan met deze regel, met betrekking tot .$fotomap.:
"$files = glob("../JavaPowUpload/Extra/FileProcessingScripts/PHP/UploadedFiles/".$fotomap."/*.*");"
Wordt ".$fotomap." dan "$_SESSION['fotomap']"?
Eerst controleren of het wachtwoord (en username) overeenstemmen.
Als dat het geval is:
Post bestaat n.l. alleen (zoals eerder gezegd) als het forumulier net verstuurd is (net op de knop gedrukt is) daarna niet meer.
Later in de pagina moet je dan referen naar $_SESSION['pass'] ipv $_POST['pass'].
Kun je aub een voorbeeld geven om de inhoud van "$_POST['pass']", die bij het inloggen wordt bepaald, altijd en overal, bij elke refresh opnieuw te kunnen oproepen? Ik zou er heel dankbaar voor zijn.
Deze regel staat bij de inlogpagina en werkt één maal op de bestelpagina: $fotomap = $_POST['pass'];
Wat moet er nu op de bestelpagina komen om bij iedere refresh de inhoud van $fotomap niet kwijt te spelen?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
session_start();
if(isset($_POST['pass']))
{
$_SESSION['pass'] = $_POST['pass'];
}
?>
session_start();
if(isset($_POST['pass']))
{
$_SESSION['pass'] = $_POST['pass'];
}
?>
Als je dit voorin je bestand zet,dan kan je verderop $_SESSION['pass'] gebruiken. Ook na een refresh zal $_SESSION['pass'] nog bestaan.
bovenaan de inlogpagina heb ik nu onderstaande regel gezet:
$_SESSION['pass'] = $_POST['pass'];
Op de volgende pagina zet ik op regel 28: $fotomap = $_SESSION['pass'];
maar krijg onderstaande foutmelding:
Notice: Undefined variable: _SESSION in /home/alduid/public_html/sarahgeleyn/werkmap/previews/main3.php on line 28
session_start() vergeten.
Met session_start() is de foutmelding wel weg, maar verschijnen er helemaal geen foto's meer na het inloggen.
Plaats de hele code eens?
Zo moest het zijn:
if ($_POST['fotomap'] != "") {
$fotomap = $_POST['fotomap'];
$vfotomap = isset($_POST['fotomap']) ? trim($_POST['fotomap']) : "";
$_SESSION['fotomap'] = $vfotomap;
}
else {
$fotomap = $_SESSION['fotomap'];
}
Zo verschijnen de eerste keer de foto's via $_POST
De tweede keer via de aangemaakte $_SESSION.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
session_start();
$_SESSION['fotomap'] = isset($_SESSION['fotomap']) ? $_SESSION['fotomap'] : '';
$_SESSION['fotomap'] = isset($_POST['fotomap']) ? trim($_POST['fotomap']) : $_SESSION['fotomap'];
?>
session_start();
$_SESSION['fotomap'] = isset($_SESSION['fotomap']) ? $_SESSION['fotomap'] : '';
$_SESSION['fotomap'] = isset($_POST['fotomap']) ? trim($_POST['fotomap']) : $_SESSION['fotomap'];
?>
Zo krijg je geen meldingen en kan je overal met $_SESSION['fotomap'] werken.
Gewijzigd op 05/02/2012 23:02:55 door Robin Van den Broeck