$_POST / $_GET

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Chris Bosmans

chris Bosmans

24/11/2015 22:16:07
Quote Anchor link
het zal weer aan mijn capaciteiten liggen maar snap volgend phenomeen niet
op 1 pagina laat ik via een simpel dropdown menu een switch / case lopen.
in mijn 1 case toon ik een lijst lijst met namen.
deze zit in een tabel die ik echo via een while.

dan heb ik via een andere switch case de keuze dat ze alfa ASC of DESC sorteerd worden.
in google chrome werkt dit zonder probleem op IE wilt het niet werken.
kan iemand vertellen waarom niet

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<form action="securepage.php?pag=5" method="post" enctype="multipart/form-data" name="upload" id="upload">
  <table width="772"  cellspacing="0" cellpadding="0">
    <tr>
      <td width="179" height="28"><h2>&nbsp;</h2></td>
      <td width="593" ><h3>
          <select name="keuze" id="keuze">
          <OPTION VALUE="">Selecteer wat je wil doen</OPTION>
            <OPTGROUP LABEL="Klanten">
            <OPTION VALUE="2">klanten lijst afdrukken</OPTION>
            </OPTGROUP>


          </select>
          <input type="submit" name="uploaden" value="OK"/>
      </h3></td>
    </tr>
  </table>
</form>
<p>
  <?php
if  (empty($_POST['keuze'])) { $swichnr=1;}
if  ($_POST['keuze']==2)     { $swichnr=2;}  //lijst afprinten
if  ($_GET['keuze']==2)     { $swichnr=2;}  //lijst afprinten

switch ($swichnr) {
//begin van de pagina
case 1:
 echo $_SESSION['msg'] ;?>

<table width='939'  height='500px' >
<tr>
<h4>
   <td valign="top"><p>Hier op deze pagina kan je de lijsten afprinten.</p>  </td>
</h4>
</tr>
</table>


<?php
break;
?>

<?php

case 2:
$lijstkeuze=1;
if  ($_POST['lijst']==1) { $lijstkeuze=1;}  //Alfa ASC NAAM
if  ($_POST['lijst']==2) { $lijstkeuze=2;}  //Alfa DESC NAAM

?>

<h1>Klanten lijst Afprinten</h1>
<a href="javascript:window.print()">Print deze pagina</a><br />

<form action='securepage.php?pag=5&keuze=2' method='post' enctype='multipart/form-data' name='upload' id='upload'>
  <table width="1242" border="0" cellspacing="0" cellpadding="0">
  <tr align="center" >
    <td width="82" height="47" class="styleborder3" ><h4>Klant</h4></td>
    <td width="36"class="styleborder3" ><input name="lijst" type="image" src="../pics/AZ.png" width="20" height="20" value="1"/></td>
    <td width="36"class="styleborder3" ><input name="lijst" type="image" src="../pics/ZA.png" width="20" height="20" value="2"/></td>

    </tr>
<?php

switch ($lijstkeuze) {
case
1:
$sql= mysqli_query($link,"SELECT *,DATE_FORMAT(Klant_Datum, '%d.%m.%Y') AS datum FROM klanten_gegevens ORDER BY  Naam ASC");

break;

case
2:
$sql= mysqli_query($link,"SELECT *,DATE_FORMAT(Klant_Datum, '%d.%m.%Y') AS datum FROM klanten_gegevens ORDER BY  Naam DESC");

break;
?>


dit is maar een stukje maar denk dat het alle informatie bevat

dus mijn 1ste dropdown geeft de "keuze 2" die case 2 aanspreekt, dan "lijst" post in dezelfde pag=5&keuze=2 waar dan de post de lijst nr is.

1 is ASC
2 is DESC

dus dit werkt in chrome
maar niet in IE?

hoe krijg ik dit ook in IE aan de praat
Gewijzigd op 25/11/2015 19:49:59 door Chris Bosmans
 
PHP hulp

PHP hulp

29/03/2024 12:54:55
 
- Ariën  -
Beheerder

- Ariën -

24/11/2015 22:30:42
Quote Anchor link
Op lijn 12 en 13 zie ik twee select sluit-tags staan. Dat klopt niet.
 
Chris Bosmans

chris Bosmans

24/11/2015 22:40:00
Quote Anchor link
ok merci
gewijzigd
was niet de oplossing
 
- Ariën  -
Beheerder

- Ariën -

24/11/2015 22:46:09
Quote Anchor link
Wat doet de h(eading)3 tag om je select heen?

Als een formulier niet goed wilt versturen, dan ligt het vaak aan je HTML-CODE die niet valid is.

Valideer hem eens op http://validator.w3.org
Gewijzigd op 24/11/2015 22:46:41 door - Ariën -
 
Chris Bosmans

chris Bosmans

24/11/2015 22:49:26
Quote Anchor link
h3 is opmaak

maar die keuze doet het perfect

het is deze die niet wil doen

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
<?php

case 2:
$lijstkeuze=1;
if  ($_POST['lijst']==1) { $lijstkeuze=1;}  //Alfa ASC NAAM
if  ($_POST['lijst']==2) { $lijstkeuze=2;}  //Alfa DESC NAAM

?>

<h1>Klanten lijst Afprinten</h1>
<a href="javascript:window.print()">Print deze pagina</a><br />

<form action='securepage.php?pag=5&keuze=2' method='post' enctype='multipart/form-data' name='upload' id='upload'>
  <table width="1242" border="0" cellspacing="0" cellpadding="0">
  <tr align="center" >
    <td width="82" height="47" class="styleborder3" ><h4>Klant</h4></td>
    <td width="36"class="styleborder3" ><input name="lijst" type="image" src="../pics/AZ.png" width="20" height="20" value="1"/></td>
    <td width="36"class="styleborder3" ><input name="lijst" type="image" src="../pics/ZA.png" width="20" height="20" value="2"/></td>

    </tr>
<?php

switch ($lijstkeuze) {
case
1:
$sql= mysqli_query($link,"SELECT *,DATE_FORMAT(Klant_Datum, '%d.%m.%Y') AS datum FROM klanten_gegevens ORDER BY  Naam ASC");

break;

case
2:
$sql= mysqli_query($link,"SELECT *,DATE_FORMAT(Klant_Datum, '%d.%m.%Y') AS datum FROM klanten_gegevens ORDER BY  Naam DESC");

break;
?>


Toevoeging op 24/11/2015 22:50:59:

de case 1 zoekt mijn namen en rangschikt ze ASC
en toont die dan in de tabel
 
- SanThe -

- SanThe -

24/11/2015 23:23:09
Quote Anchor link
Je hebt 2 formulieren.
Dus als je de een post is de andere weer leeg.
Verder heb je 2 inputvelden met dezelfde naam, dat werkt alleen bij typ="radio"
 
Chris Bosmans

chris Bosmans

25/11/2015 00:04:41
Quote Anchor link
de pagina waar deze code in staat heet securepage.php?pag=5

mijn 1ste form gaat hij 'keuze' posten (1 of 2) die post de pagina terug naar zichzelf
als de securepage.php?pag=5

die 1 of 2 plaatst als case in mijn case (swichnr)
(in dit voorbeeld wil ik een lijst afdrukken (dus keuze value= 2 => toon case 2 van de swichnr)

in die case 2 van (swichnr) toon ik al mijn velden uit mijn sql tabel en rangschik is ze Alfabetisch
nu heb ik 2 opties een knop( A->Z en Z->A) als ik hierop klik dan stuurt dit een post 'lijst' door terug naar de securepage.php?pag=5&keuze=2 met $_post variabele['lijst']
die post stuurt mijn 2de switch( lijstkeuze) aan.waardoor het script kiest welke case (sort functie hij moet tonen)

case 1 is dan A-Z rangschik
case 2 is Z to A rangschik

dit werkt in chrome maar niet in IE
ik snap niet waar het verschil in zit.
Gewijzigd op 25/11/2015 00:06:11 door chris Bosmans
 
- SanThe -

- SanThe -

25/11/2015 00:36:46
Quote Anchor link
securepage.php?pag=5&keuze=2

Hier zit keuze in een $_GET en niet in een $_POST.
 
Peter K

Peter K

25/11/2015 07:51:45
Quote Anchor link
Je form bouw je als volgt op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form action='securepage.php?pag=5&keuze=2' method='post' enctype='multipart/form-data' name='upload' id='upload'>


Je stuurt je FORM dus door naar pagina securepage.php?pag=5&keuze=2
Hierdoor zijn pag en keuze een $_GET zoals SanThe zegt.

Als je je keuze ook als post wilt kun je het volgende doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<form action='securepage.php?pag=5' method='post' enctype='multipart/form-data' name='upload' id='upload'>
<input type="hidden" name="keuze" value="2">


Nu kun je keuze gewoon ophalen als $_POST['keuze'];
 
Chris Bosmans

chris Bosmans

25/11/2015 15:36:57
Quote Anchor link
ik denk dat ik niet duidelijk ben geweest,
hier is mijn script (het begin met de 1st case + sql maar niet de hele while output.

misschien wordt het nu duidelijker
en nog maals ik krijg dit niet aan de praat in internet explorer maar WEL in chrome ? waar kan dit dan aan liggen

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<form action="securepage.php?pag=5" method="post" enctype="multipart/form-data" name="upload" id="upload">
  <table width="772"  cellspacing="0" cellpadding="0">
    <tr>
      <td width="179" height="28"><h2>&nbsp;</h2></td>
      <td width="593" ><h3>
          <select name="keuze" id="keuze">
          <OPTION VALUE="">Selecteer wat je wil doen</OPTION>
            <OPTGROUP LABEL="Klanten">
            <OPTION VALUE="2">klanten lijst afdrukken</OPTION>
            </OPTGROUP>
           </SELECT>
          <input type="submit" name="uploaden" value="OK"/>
      </h3></td>
    </tr>
  </table>
</form>
<p>
  <?php
if  (empty($_POST['keuze'])) { $swichnr=1;}
if  ($_POST['keuze']==2) { $swichnr=2;}  //lijst afprinten
if  ($_GET['keuze']==2) { $swichnr=2;}  //lijst afprinten

switch ($swichnr) {
//begin van de pagina
case 1:
 echo $_SESSION['msg'] ;?>

<table width='939'  height='500px' >
<tr>
<h4><td valign="top"><p>Hier op deze pagina kan je de lijsten afprinten.</p></td></h4>
</tr>
</table>
<?php
break;
?>


<?php

case 2:
$lijstkeuze=1;
if  ($_POST['lijst']==1) { $lijstkeuze=1;}  //Alfa ASC NAAM
if  ($_GET['lijst']==2) { $lijstkeuze=2;}  //Alfa DESC NAAM
if  ($_POST['lijst']==2) { $lijstkeuze=2;}  //Alfa DESC NAAM
?>

<h1>Klanten lijst Afprinten</h1>
<a href="javascript:window.print()">Print deze pagina</a><br />

<form action='securepage.php?pag=5&keuze=2' method='post' enctype='multipart/form-data' name='upload' id='upload'>
  <table width="1242" border="0" cellspacing="0" cellpadding="0">
<tr align="center" >
    <td width="82" height="47" class="styleborder3" ><h4>Klant</h4></td>
    <td width="36"class="styleborder3" ><input name="lijst" type="image" src="../pics/AZ.png" width="20" height="20" value="1"/></td>
    <td width="36"class="styleborder3" ><input name="lijst" type="image" src="../pics/ZA.png" width="20" height="20" value="2"/></td>
</tr>

<?php

switch ($lijstkeuze) {
case
1:
$sql= mysqli_query($link,"SELECT *,DATE_FORMAT(Klant_Datum, '%d.%m.%Y') AS datum FROM klanten_gegevens ORDER BY  Naam ASC, Voornaam ASC");
while($toon_gegevens = mysqli_fetch_array($sql))
{

$Naam=  $toon_gegevens['Naam'];
$Voornaam=  $toon_gegevens['Voornaam'];

....


?>

<?php
</table></form>
?>



misschien brengt dit klaarheid
ik heb met $POST en $GET gewerkt maar alleen in de google browser werkt het
niet in de internet explorer.
 
- SanThe -

- SanThe -

25/11/2015 15:57:02
Quote Anchor link
Zet dit eens bovenin:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
# error reporting
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
 
Chris Bosmans

chris Bosmans

25/11/2015 19:55:05
Quote Anchor link
als de de code doorloop tot lijn 52 (hier is de knop dat ik de lijst wil sorteren van Z tot A)

bij google chrome : geeft hij lijn 20 aan => normaal want de keuze zit in de url dus moet ik de $_GET variabele hebben.
voor de rest geen errors niet zoals IE als hieronder

bij IE daar in tegen ook lijn 20 om dezelfde reden als hierboven
maar dan ook nog lijn 40 - 41 - 42 dat hij de variabele (Undefined index: lijst) niet kan vinden.
 
Furio Scripting

Furio Scripting

29/11/2015 18:10:09
Quote Anchor link
Als ik iets in IE niet werkend zie maar wel in andere browser haal ik altijd stukjes code weg om te zien of het dan wel werkt. Je kan ook online wat forms/cases checken en die testen in IE, werken die wel dan kan je is gaan vergelijken met je eigen code.

Beter stopt Microsoft gewoon met browsers maken dan zouden wij een stuk makkelijker programmeer leven hebben. Succes!
 



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.