/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
$HTTP_POST_VARS: Kan ikke fange alle varia~
Fra : Lars Michael Sorense~


Dato : 03-06-01 17:06

Hej,

Jeg er relativt ny i PHP, så det er nok muligt, jeg spørger om noget
åbenlyst, men:

Jeg er igang med at lave en formmail-ting, som kan alt det sædvanlige
med at tage indholdet af en formular og sende det i et eller andet
format til en e-mail adresse. Selve formularen skal kunne bygges i
almindelig HTML, og scriptet ved ikke på forhånd, hvor mange felter og
værdier, der er i formularen. Ikke noget overraskende der...

Okay - jeg er nået så langt, som til at konstatere, at $HTTP_POST_VARS
nok er min bedste ven i den sammenhæng - min method er "POST", så jeg
går ud fra, det er den, jeg skal have fat i.

Jeg har lavet et lille testscript, der udskriver indholdet af
$HTTP_POST_VARS efter at have submittet en bestemt form (se nedenfor).
Resultatet bliver sådan her:

($variabel = værdi)
--------------------------------------------------
lmsoren@hotmail.com=
fornavn= Lars
efternavn= Sørensen
email= lmsoren@hotmail.com
radioknap= Rødhætte
checkbox= Ja tak
kommentar= hej fra Lars Michael!
kommentar fra webstedet=
=
Lars=
Sørensen=
lmsoren@hotmail.com=
Rødhætte=
Ja tak=
hej fra Lars Michael!=
send ind=
----------------------------------
Outputtet ved de "tomme" værdier ser ud til at være et mellemrum. Det er
jo til at forholde sig til, men jeg har alligevel et problem her:

I kildekoden har jeg angivet en række "hidden"-felter, som
tilsynelandene ikke dukker op, bortset fra "recipient", der står på
variabel-pladsen...

....
<input type="hidden" name="recipient" value="lmsoren@hotmail.com">
<input type="hidden" name="required"
value="fornavn,efternavn,email,radioknap,checkbox,kommentar">
<input type="hidden" name="subject" value="kommentar fra webstedet">
<input type="hidden" name="file" value="<?php __FILE__ ?>">
....

Jeg forventer ikke problemer med at lave et brugbart array ud af
$HTTP_POST_VARS, men hvordan får jeg så fat i "hidden"-felterne, som
åbenbart ikke er med her? Som udgangspunkt ved scriptet jo ikke, hvor
mange hidden-felter der er i formularen.


Hvis det er nogen hjælp, er formularen på
http://www.lmsoren.dk/feedback_form.php

Kildekoden til testscriptet er: - Og jo, der er sikkert hurtigere måder
at gøre det på, men det virker
-----------------------
<?php

$vars = implode($HTTP_POST_VARS,",");
$variables = explode (",",$vars);
for ($n=0; $n<count($variables);$n++)
{
print ("$variables[$n]= ${$variables[$n]} <br>");
}

?>
---------------------
Derudover savner jeg en oversigt med dybdegående information om, hvordan
de prædefinerede variable er skruet sammen - jeg har checket manualen og
flere PHP-sites (bl.a. PHPBuilder, PHP.net, samt nogle danske), uden at
blive rigtig meget klogere.

På forhånd tak,

lms


 
 
Jonas Koch Bentzen (03-06-2001)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 03-06-01 18:42

Lars Michael Sorensen skrev:

> <?php
>
> $vars = implode($HTTP_POST_VARS,",");
> $variables = explode (",",$vars);

Ups! Hvad, hvis der er komma i nogle af formularværdierne? Så får du
problemer.

En meget bedre løsning:

<?php
foreach ($HTTP_POST_VARS as $noegle => $vaerdi) {
echo "$noegle: $vaerdi<br/>\n";
}
?>

--
Venlig hilsen
Jonas Koch Bentzen

http://understroem.dk/

Lars Michael Sorense~ (03-06-2001)
Kommentar
Fra : Lars Michael Sorense~


Dato : 03-06-01 18:57



Jonas Koch Bentzen wrote:

> Lars Michael Sorensen skrev:
>
> > <?php
> >
> > $vars = implode($HTTP_POST_VARS,",");
> > $variables = explode (",",$vars);
>
> Ups! Hvad, hvis der er komma i nogle af formularværdierne? Så får du
> problemer.
>
> En meget bedre løsning:
>
> <?php
> foreach ($HTTP_POST_VARS as $noegle => $vaerdi) {
> echo "$noegle: $vaerdi<br/>\n";
> }
> ?>
>

Tak for det, Jonas!
Der er faktisk komma i $required, men jeg troede egentlig PHP selv holdt
styr på, hvad der var hvad...

Sejest!


Lars


Niels Andersen (03-06-2001)
Kommentar
Fra : Niels Andersen


Dato : 03-06-01 22:10

"Lars Michael Sorensen" <lmsoren@hotmail.com> wrote in message
news:3B1A7A68.BB9A1348@hotmail.com...
> > > $vars = implode($HTTP_POST_VARS,",");
> > > $variables = explode (",",$vars);
> Der er faktisk komma i $required, men jeg troede egentlig PHP selv holdt
> styr på, hvad der var hvad...

PHP gør, du gør ikke... ;)

--
Mvh.

Niels Andersen





Lars Michael Sorense~ (05-06-2001)
Kommentar
Fra : Lars Michael Sorense~


Dato : 05-06-01 16:00



Niels Andersen wrote:

> "Lars Michael Sorensen" <lmsoren@hotmail.com> wrote in message
> news:3B1A7A68.BB9A1348@hotmail.com...
> > > > $vars = implode($HTTP_POST_VARS,",");
> > > > $variables = explode (",",$vars);
> > Der er faktisk komma i $required, men jeg troede egentlig PHP selv holdt
> > styr på, hvad der var hvad...
>
> PHP gør, du gør ikke... ;)

næh, det er sq nok muligt...øv!

lms


Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste