Kør php function ved klik på knap

Her kan du få hjælp og stille spørgsmål til PHP!
Besvar
MLaugesen
Begynder
Indlæg: 2
Tilmeldt: 8. sep 2013, 23:00

Kør php function ved klik på knap

Indlæg af MLaugesen » 8. sep 2013, 23:08

Jeg har en form, der ser sådan her ud:

Kode: Vælg alt

<form  action="" method="POST"> 
    CVR-nummer:<br> 
    <input name="cvr" id="cvr" type="text" value="" size="30"/> <button onclick="">Run the function</button><br> 
    Navn:<br> 
    <input name="navn" type="text" value="<?php if(isset($navn)) {echo $navn;} ?>" size="30"/><br>
    Adresse:<br> 
    <input name="adresse" type="text" value="<?php if(isset($adresse)) {echo $adresse;} ?>" size="30"/><br>
    Postnummer:<br> 
    <input name="postnr" type="text" value="<?php if(isset($postnr)) {echo $postnr;} ?>" size="30"/><br>
    By:<br> 
    <input name="by" type="text" value="<?php if(isset($by)) {echo $by;} ?>" size="30"/><br>
    <input type="submit" value="Registrer"/> 
    </form> 
Når man trykker på den knap, vil jeg gerne have min php-function til at blive kørt. Min funktion ser således ud:

Kode: Vælg alt

<?php 
function getinfo() {
	$cvr = "12345678";
	$api = json_decode(file_get_contents("http://cvrapi.dk/{$cvr}/"),true);
	$navn = $api['navn'];
	$adresse = $api['adresse'];
	$postnr = $api['postnr'];
	$by = $api['by'];
}

?>
Når der trykkes på knappen, vil jeg gerne have indholdet af CVR-feltet med i funktionen, så der i stedet for "12345678" er indholdet af feltet.

Derudover vil jeg gerne have noget validering indover.

Er der nogen, der kan guide mig i den rigtige retning her?

Når jeg trykker på knappen skal der altså ske følgende:

Tryk på knap > start php-function > hent indhold af CVR-feltet > valider CVR feltet (præcis 8 TAL) > hent data fra API hvis validering er OK.

Brugeravatar
ThomasI
Grundlægger
Grundlægger
Indlæg: 1528
Tilmeldt: 28. dec 2010, 10:49

Re: Kør php function ved klik på knap

Indlæg af ThomasI » 9. sep 2013, 20:32

For at køre scriptet kan du på en enkel måde kalde din php side med scriptet på via action="" i formen:

<form method="post" action="ditscript.php">
...
</form>

På den måde rynegr du videre over på din php side og dit script bliver kørt. Herfter kan du script evt. guide dine brugere videre til en side hvor der står "tak for dit indput".

Hvis du vil hente CVR feltet og gemme det i din CVR variabel skal du bruge POST. Se disse videoer:

http://www.nemprogrammering.dk/Tutorials/PHP/T10PHP.php
http://www.nemprogrammering.dk/Tutorials/PHP/T11PHP.php

Du kan validere CVR feltet med JavaScript inden formen bliver sendt se her:

http://www.nemprogrammering.dk/Tutorial ... script.php

Besvar