login  Naam:   Wachtwoord: 
Registreer je!
 Forum

$_POST doorgeven naar andere pagina

Offline Stefan14 - 14/04/2006 12:37
Avatar van Stefan14PHP gevorderde ik heb een probleem met het doorgeven van variabelen naar een andere pagina.

winkelwagen.php

  1. <form action="?page=bestel" method="post"><table class="displayTable"><tr><th>Opmerkingen</th></tr><tr><td><textarea name="opmerkingen" rows="6" cols="60"></textarea></td></tr><tr><td><b>Actie Code</b> <input type="text" name="actiecode"></td></tr></table>
  2.  
  3. <center><table><tr><td><input type="submit" width="200" value="Bestel"></form></td><td><form action="?page=winkelwagen" method="post"><input type="submit" width="200" value="Annuleren"></form></td></tr></table></center>



en op bestel.php staat bovenaan het volgende.

  1. <?php
  2. include('includeSecurity.php');
  3. output::heading('Bestel');
  4. $opmerkingen = filter($_POST['opmerkingen']);
  5. $actiecode = filter($_POST['actiecode']);
  6. $gebruikersID = $_SESSION['id'];
  7. ?>



het gaat om de actiecode variabele die ik wil doorgeven, deze heb ik er later bijgezet, de opmerkingen gaat al heel lang goed.

naar mijn idee heb ik de actiecode op dezelfde wijze doorgegeven als het opmerkingenveld, maar toch gaat het niet goed, want als ik ze echo, dan komt het opmerkingenveld wel door, en de actiecode wordt dan (wat je ook invult, ook bij niets invullen) simpelweg veranderd in een 1.

iemand enig idee wat hier aan de hand kan zijn?

9 antwoorden

Gesponsorde links
Offline Rens - 14/04/2006 13:04 (laatste wijziging 14/04/2006 13:08)
Avatar van Rens Gouden medaille

Crew algemeen
En als je $_POST['actiecode'] echoot?
  1. <table>
  2. <tr>
  3. <td>
  4. <input type="submit" width="200" value="Bestel">
  5. </form>
  6. </td>
  7. <td>
  8. <form action="?page=winkelwagen" method="post">
  9. <input type="submit" width="200" value="Annuleren">
  10. </form>
  11. </td>
  12. </tr>
  13. </table>

Waarom staat die 2e <form...> daar?
Zet in je eerste form een reset-button met een onclick.
Is een stuk duidelijker.
  1. <table>
  2. <tr>
  3. <td>
  4. <input type="submit" width="200" value="Bestel">
  5. </form>
  6. </td>
  7. <td>
  8. <form action="?page=winkelwagen" method="post">
  9. <input type="submit" width="200" value="Annuleren">
  10. </form>
  11. </td>
  12. </tr>
  13. </table>


Zo dus:

  1. <table>
  2. <tr>
  3. <td>
  4. <input type="submit" width="200" value="Bestel">
  5. </td>
  6. <td>
  7. <input type="reset" width="200" value="Annuleren" onclick="window.location='?page=winkelwagen'">
  8. </td>
  9. </tr>
  10. </table>
Offline Stefan14 - 14/04/2006 13:18
Avatar van Stefan14 PHP gevorderde bij $_POST['actiecode']; echoën krijg je hetzelfde resultaat, ook weer een 1
Offline Rens - 14/04/2006 13:19
Avatar van Rens Gouden medaille

Crew algemeen
Laat de code van de functie filter() eens zien.
Offline Stefan14 - 14/04/2006 13:34
Avatar van Stefan14 PHP gevorderde hehe, ja, dat is dus even het probleem, die kan ik dus niet vinden aangezien ik de basis van de site niet zelf gebouwd heb, maar heb laten bouwen. in het bestand functions.php dat overal geinclude wordt kan ik hem ook niet vinden.
maar zonder filter(); doet hij het ook niet, dus denk niet dat het daaraan ligt.

overigens denk ik dat ik wel een idee heb wat die functie doet, die zal waarschijnlijk bepaalde dingen zoals slashes e.d. eruit strippen.
Offline Rens - 14/04/2006 13:35 (laatste wijziging 14/04/2006 13:39)
Avatar van Rens Gouden medaille

Crew algemeen
Die include, includeSecurity.php, die zal er niet voor de lol staan hè?
Daar ook al gekeken? 

Maar uh, zal wel aan mij liggen hoor.
Als je de basis niet zelf bouwt, waarom zou je er dan wel zelf in gaan zitten klooien?
Wie weet haal je dadelijk per ongeluk wel de hele site over de zeik of zo...
Kunt beter aan de "bouwer" vragen of hij/zij even kan helpen.
Offline Stefan14 - 14/04/2006 13:40 (laatste wijziging 14/04/2006 13:45)
Avatar van Stefan14 PHP gevorderde ja, maar daar staat niet veel in hoor, daar staat het volgende in,
  1. <?php
  2. if (!defined('SECURITY_FOR_INC'))
  3. {
  4. die();
  5. }
  6. ?>

includesecurity maakt op de een of andere manier verbinding met een ander bestand waar de inloggegevens voor de db staan, en ook waar vele tientallen bestanden die geinclude worden instaan. in een van die bestanden heb ik nu eindelijk de code gevonden, want dat zijn nog niet eens kleine bestanden ook.

dit is de code van filter();
  1. <?php
  2. function filter($input)
  3. {
  4. //$output = addslashes($input);
  5. $output = htmlspecialchars($input);
  6. return $output;
  7. }
  8. ?>


en waarom ik er zelf aan zit te klooien is omdat ik wel redelijk betrokken ben geweest bij het bouwen van die basis, heb er zelf ook delen van geschreven, en weet wat ik doe. ik heb ondertussen zelf al vele duizenden regels code meer geschreven aan de site dan die andere persoon voor mij heeft gedaan.
ook maak ik elke dag een backup, dus veel kan er niet mis gaan.
Offline Kevin - 14/04/2006 17:06
Avatar van Kevin Crew Ajax/REST Als je simpel een variabele wilt doorgeven naar een volgende pagina terwijl dat die al eens doorgegeven is zou ik als volgt werken:
  1. <?
  2. <form name='form1' action='checkout.php'>
  3. <input type='hidden' value='$_POST['variabele']'>
  4. <input type='button' value='uitchecken'></form>";
  5. ?>

Helpt dit je misschien?
Offline kokx - 14/04/2006 21:39 (laatste wijziging 14/04/2006 21:39)
Avatar van kokx Onbekend @ddReborn: Je moet niet zoveel echo'en. Dat maakt het langzamer. Doe het gewoon zo:
  1. <?php
  2. //hier je php zooi
  3. ?>
  4. <form name='form1' action='checkout.php'>
  5. <input type='hidden' value='<?php echo $_POST['variabele']; ?>'>
  6. <input type='button' value='uitchecken'></form>
  7. <?php
  8. //hier meer php zooi
  9. ?>
Offline Stefan14 - 14/04/2006 21:45 (laatste wijziging 14/04/2006 21:52)
Avatar van Stefan14 PHP gevorderde ok, ik ga dat even proberen. ik laat zo het resultaat wel even weten alhoewel ik hetzelfde resultaat verwacht omdat ik het nu met een textbox doe.

EDIT: helaas, een hidden field levert ook niets op.

ik begin toch echt nieuwsgierig te worden hoe diegene dat toendertijd gedaan heeft, heb hem begin van de middag al gemaild, maar vreemd genoeg nog niks teruggehad.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.29s