[PHP] variabele 2de keer doorgeven na verwerking - noobvraag

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oke het is als volgt,
de code is niet van mij , maar ik probeer deze wat aan te passen.
ikzelf ben nog niet zo bedreven, maar misschien kunnen jullie mij al in de goeie richting zetten.


PROBLEEM.

WEBSHOP (met artikels)
geven perfect de data door die ik wens naar één extra pagina (indien ze op meer infobutton klikken)
deze gegevens worden dan op kleine php pagina opgevangen ( dmv GET )

---
CODE - contact.php
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Aanvraag Leveringstermijn</title>
<?php
$artikeloms = $_GET['artikeloms'];
$partnr = $_GET['partnr'];
$bestelcode = $_GET['nummer'];

// heb ik zelf bijgezet - om door te sturen naar volgende pagina.
// gegevens zouden gemailed moeten worden .
$a = $artikeloms;
$b = $partnr;
$c = $bestelcode;

$artoms = $_POST["artikeloms"];
$artpartnr = $_POST["partnr"];
$artbestelcode = $_POST["nummer"];
?>
</head>

<body>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<form method="post" action="mailform_01.php">
<!-- action : waar de gegevens naartoe gestuurd worden na de submit Zenden -->
<p>
<span class="style1">AANVRAAG Leveringstermijn.</span>
<br />
<br />
<span class="style2">Artikel :<span class="style3"><?php echo $artikeloms; ?></span></span><br />
Partnr : <?php echo $partnr; ?><br />
BestelCode : <?php echo substr($bestelcode, 7, 5); ?> </p>

<p><font size="-4" face="Verdana, Arial, Helvetica, sans-serif">Email waarop wij u kunnen bereiken. <br>
<input name="email" type="text" id="email" />
<em>(*)
huidig geldig email adres</em></font></p>
<!-- hierboven moeten de extra velden komen te staan. -->

<p> <font size="-4" face="Verdana, Arial, Helvetica, sans-serif">
<input type="submit" name="Submit" value="Verzenden">
<input type="reset" name="Submit2" value="Wissen">
</font> </p>
</form> </td>
</tr>
</table>
<br />
----

CODE - mailform.php
<?php
$artoms = $_GET["artoms"];
$artpartnr = $_GET["artpartnr"];
$artbestelcode = $_GET["artbestelcode"];
$emailklant = $_GET["email"];
?>
... + code van mailfunctie ( dit gedeelte marcheert perfect, enkel daar waar de inhoud
van de variablen zou moeten staan , zijn ze blanco, ze komen gewoon niet mee
met de vorige pagina :'(.

staat bovenaan m'n code, maar als ik hier nen echo doe, ( is de inhoud leeg ? )
iemand enig idee wat ik fout doe. ?

alvast bedankt.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

En hoe heb je de variabelen in de HTML neergezet om door te geven aan de volgende pagina? Je zult ze als hidden fields op je form moeten opnemen.

Overigens: als je je post wilt aanpassen met [code] tags dan graag, dat maakt het een stuk leesbaarder :)

[ Voor 27% gewijzigd door Creepy op 23-08-2006 09:44 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • doeternietoe
  • Registratie: November 2004
  • Laatst online: 20-09 17:02
Als je die gegevens niet in een formulierveld zet zullen ze nooit duurgestuurd worden, ik bedoel dus:

code:
1
<input type="text" name="artikeloms" value="<?php echo $artikeloms; ?>" />


edit: of zoals hierboven met hidden fields, het is maar net of de gebruiker de gegevens mag wijzigen. Als dat niet zo is zou ik zoiezo eerder gebruik maken van een SESSION-variabele.

[ Voor 32% gewijzigd door doeternietoe op 23-08-2006 09:44 ]


Acties:
  • 0 Henk 'm!

  • mnielsm
  • Registratie: September 2002
  • Laatst online: 06:30
Volgens mij gaan hier een paar dingen fout.

1) je begruikt $_GET en $_POST door elkaar.
$_GET gebruik je als in je form method="get" staat
$_POST gebruik je als in je form method="post" staat
hierdoor zal waarschijnlijk het begin van de contact.php code mislopen
2) om code in een formulier door te sturen zal je er iets van een hidden input voor moeten maken want alleen de infromatie die in een formulier staat met <input> worden doorgestuurd

edit: too late

[ Voor 3% gewijzigd door mnielsm op 23-08-2006 09:45 ]

Voor het eenvoudigste zoeken naar alle chinese webshops: www.chinapricefinder.com


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
alvast bedankt,

de gegevens met hidden attrib, marcheert
heb ik wel volgende probleem

mailform_01.php
code:
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?php

/*
---------------------------------------------
Mail Subscription Script v1.0
    
Bestaande uit volgende bestanden :
    - mailform_01.php       verwerking
    - contact.html      aanroep html
--------------------------------------------
*/

// de variabelen worden vanafhier opgevangen , die dmv submit op de contact.html doorgegeven worden.

$artoms = $_GET["a"];
$artpartnr = $_GET["b"];
$artbestelcode = $_GET["c"];
$emailklant = $_GET["email"];

// ------------------------- [ BEGIN : Emailen Naar Adress ]---------------------------------
// UNQUOTE de variable hieronder als bovenste blockcode dissabled is.
$MailNaarAdres = "testmailadres@testmail.com";
            
            
// ------------------------- [ BEGIN : UNIEK ID NR ]---------------------------------
// MEMO : Unieke KEY generatie op basis van de interne klok van de server.
$uniekesleutel = uniqid(8);
// ------------------------- [ EOF : UNIEK ID NR ]---------------------------------

// Inhoud die dan via de mail verzonden zal worden.
$MailOnderwerp = "Aanvraag Leveringstermijn";
    if (!$MailVanAdres) 
    {
    $MailVanAdres = "$emailklant"; 
      // MEMO : zelf $emailklant bijgezet
     }
   $BovenkantEmail = "Leveringstermijn aanvraag van : $artoms \n\nPartnr : $artpartnr \n\nBestelcode : $artbestelcode \n\nVoor emailadres : $emailklant";
     // in bericht zou bovenaan emailadres \n + bericht moeten staan
   $OnderkantEmail = "$berichtklant"; 
     // dit is de Footer in het mailbericht.

?>

<html>
<style type="text/css">
<!--
.style1 {font-family: Verdana, Arial, Helvetica, sans-serif}
-->
</style>

<link href="../../../css/bedrijfsnaam2006_01.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
    background-color: #FFFFFF;
    margin-left: 10px;
    margin-right: 10px;
}
-->
</style><table width="600" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
<body>

<table width="600" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
    <span class="style1">Informatie was veilig verzonden ...  </span>
    <?php echo $artoms; echo $artpartnr; echo $artbestelcode; ?>


<p>
  <?php
    if (!is_array($HTTP_POST_VARS))
    return;
        reset($HTTP_POST_VARS);
            while(list($key, $val) = each($HTTP_POST_VARS)) 
            {
            $GLOBALS[$key] = $val;
            $val=stripslashes($val);
    echo  "<b>$key</b> = $val<br>";
            $VolledigBericht .= "$key = $val\n";
            }
            if ($BovenkantEmail) 
            {
            $VolledigBericht = $BovenkantEmail."\n".$VolledigBericht;
            }
            if ($OnderkantEmail) 
            {
            $VolledigBericht .= "\n\n".$OnderkantEmail;
            }
    mail( "$MailNaarAdres", "$MailOnderwerp", "$VolledigBericht", "From: $MailVanAdres");
?>
  
  
  <br>
  <br>
  <span class="style1"><b>Bedankt !</b> U zal spoedig een mailtje van ons ontvangen, met de leveringstermijn van het artikel</span>.<br>
  <br>
  <a href="../../frontpage2.php" class="style1">Terug naar Frontpage</a>
  <br>
</p>
    </td
  ></tr>
</table>
    
    </td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>


---
weergave mail.
Leveringstermijn aanvraag van :

Partnr :

Bestelcode :

Voor emailadres :
a = CANON PIXMA iP3000/NON 23ppm 4800x1200dpi A4 b = 9316A017 c = PRICAN002218 email = mailvdeklant@mailtest.com Submit = Verzenden

---
welk zeker niet zou mogen, iemand enig idee hoe het komt dat
die variablen van plaats verspringen ? en waarom deze gelijk één opsomming hiervan maakt ?

alvast bedankt.

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 20-09 23:58

TeeDee

CQB 241

Hoogstwaarschijnlijk staat in een hidden field genaamd "email" al deze gegevens al.
M.a.w.: kijk eens wat er in je hidden field staat.

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1