variabelen kwijt
ik ben al een heel eind om voor mijn dochter een bestelformulier te maken. Het is de bedoeling dat klanten hun foto's kunnen bekijken en kunnen bestellen welke foto's ze willen en hoeveel.
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...
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
Graag alleen relevante code posten.
Zet dit bovenin je script:
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 login werkt (ook) nog niet helemaal. Zonder inloggegevens kun je inloggen. Dat wordt nog veranderd?
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?
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?
Hoi mensen, Obelix, de login is goed hoor, die staat in de mail die de klanten ontvangen als de foto's online staan. Iedere klant heeft een andere login en kan enkel zijn foto's bekijken.
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.
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.
Maar ook zonder login kan ik dus op je fotobestelpagina komen, terwijl ik daar niets te zoeken heb. Zou het anders/beter beveiligen.
Sla die variabele op in een sessie.
Sla die variabele op in een sessie.
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']"?
Al geprobeerd ;-)
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?
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'].
Yep Obelix, $_POST[pass'] is de unieke naam van de fotomap die de klant kan inkijken. Heb ondertussen al wat uitgeprobeerd, maar de ene foutmelding na de andere. Volgens mij mag er in het begin van de pagina niets staan met '... = $_POST['pass']'. Want bij de eerstvolgende refresh is $_POST['pass'] leeg en dus geen foto's meer te zien.
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?
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.
Allemaal al gedaan Jim, bedankt om te reageren trouwens.
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
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?
Iedereen bedankt voor de tips, heb mijn fout gevonden.
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.
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.
Als $_POST['fotomap'] niet bestaat krijg je nog steeds een notice-melding. Er bestaat dan zelfs een kans dat je op $_SESSION['fotomap'] ook een notice-melding krijgt.
Zo krijg je geen meldingen en kan je overal met $_SESSION['fotomap'] werken.
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.
Even nog iets extra. Dit is beter:
Gewijzigd op 05/02/2012 23:02:55 door Robin Van den Broeck




