logo   PHP $_POST




$_POST er en af 'supervariablerne' i PHP. Den anvendes til at modtage data fra <form>s.


POST-data fra en form er kun til rådighed et sted. Enten i aktuelt program - når formen sendes uden action-attribut, eller i det program, de er sendt til med formens action-attribut.


Et sæt POST-data navngives i formen ved deres "submit - name". Navnet skal genbruges til at hente POST-dataene med.


Ved anvendelse har $_POST-variablen typisk følgende grundsyntaks for konvertering til variabler. (Selvom POST-data i princippet et stykke hen ad vejen kan bruges uden konvertering til variabler, er det i praksis ikke muligt og uhensigtsmæssigt at undlade konvertering.):


<?php
if (isset ($_POST['form-navn'])) //start POST
{
$variabelnavn = $_POST['variabel_navn'];
...
}

else //POST
{
echo "Der er ingen form-data til rådighed";
} // POST
?>


Af hensyn til datakvaliteten etc. er det normalt at udsætte "$_POST['variabel_navn']" for efterbehandling med en eller flere php-standardmetoder før overførsel til "$variabelnavn". Så vidt muligt omlægges de hinanden så hele efterbehandlingen sker på en linie. Disse kan være:


trim()trim ($_POST['variabelnavn']);Fjerner evt. blanktegn før og efter datastrengen.
str_replace()str_replace (' ','', $_POST['variabelnavn'];Fjerner evt. blanktegn ende i datastrengen.
htmlentities()htmlentities($varibelnavn2,ENT_QUOTES, "utf-8");Ændrer ', ", &, < og > til tegnkoder.


Ved sammensætninger anvendes 'htmlentities()' normalt yderst med en af de to andre indeni (oftest ' trim()'). Kombinationerne ser sådan ud:


htmlentities+trim $variabelnavn = htmlentities (trim ($_POST['variabelnavn']),ENT_QUOTES, "utf-8");
htmlentities+str_replace $variabelnavn = htmlentities (str_replace (' ','', $_POST['variabelnavn']),ENT_QUOTES, "utf-8");
str_replace+trim $variabelnavn = str_replace (' ','', (trim ($_POST['variabelnavn']));


Den øverste del af $_POST-opbygningen - 'if(isset)..' etc. - placeres normalt højt oppe i et program - umiddelbart efter definitionen ef evt. variabler og efter den øverste part af $_GET-delen, når en sådan forekommer.


Den nederste del af opbygningen placeres normalt lige efter, at behandlingen af data på basis af POST-dataene er afsluttet. (Typisk efter opdatering af databasen).


De aktuelle $_POST-parametre kan ses med:
echo '<pre>Indholdet af $_POST er: <br /> '; print_r($_POST); echo '</pre>';




Billeder


Såfremt der skal overføres billeder sammen med en POST-overførsel skal $_FILES indlejres i POST-overførslen. Denne situation er beskrevet under $_FILES-supervariablen.





















x
x