php-request - adatok atadasa installerbol egy php filenak

Sziasztok!

Kaptam egy feladatot , amivel nem boldogulok , ezért gondoltam , hogy a segítségeteket kérem.

Előre leszögezném , hogy abszolút kezdő vagyok a PHP nyelv területén , soha nem írtam még egy programot sem php-ban , ezért lehet , hogy hianyos lesz a leirasom , vagy hülyeségeket írok néha.

Szóval a cég ahol dolgozom programokat fejleszt , és amikor valaki letölt egy programot , akkor meg kell adnia a kovetkezo adatokat:

Keresztnév, Felhasználónév, E-mail cím, Telefonszám, Cég név, Ország

Ezeket az adatokat a program át tudja adni egy weboldalnak , ahol egy altalam megirt php filenak kell ellenőriznie.

Amikor egy ilyen postot kap a php file , akkor le kell kérdeznie azt , hogy honnan jött a post (ip cím és ország)

Ezeket az infokat pedig atadja majd a script egy autoreply rendszernek , ami egy kozponti címre küldi ki mindig a beküldött adatokat (ezt az atadast en meg tudom oldani).

Tehat a lenyeg , hogy csinalnom kell egy php filet , ami feldolgozza az installerbol kuldott adatokat.

Erre van 5 órám , hogy megvalósítsam 0 php programozási tudással....:S

Tudnátok adni valami segítséget , amin el tudnék indulni , vagy hogy ezt egyáltalán, hogyan kellene megvílósítani?

Előre is köszönöm a segítséget!

Hozzászólások

Akkor egy kis PHP alap:

A PHP leggyakoribb esetben valami webszerverben fut (Apache mod_php vagy FastCGI) es minden lekerdezesre ujra inditja a programot. A lekerdezes es a kornyezeti valtozok a $_GET, $_POST, $_SERVER, stb valtozokban erhetoek el. Feltetelezem, hogy a HTTP mukodesevel valamennyire tisztaban vagy, igy a GET es POST fogalmat nem fogom elmagyarazni. Ha megsem megy, akkor google://http

Ha nem tudod, hogy GET vagy POST, hasznalhatod egyszeruen a $_REQUEST valtozot is. Tehat gyujtsuk ki az adatokat, amihez egy kis segedfuggvenyt irunk.


<?php

function getRequestVariable($variable) {
    if (!isset($_REQUEST[$variable])) {
        header('HTTP/1.1 400 Bad Request');
        echo('Missing variable: ' . $variable);
        exit;
    }

    return $_REQUEST[$variable];
}

$keresztnev = getRequestVariable('keresztnev');
$vezeteknev = getRequestVariable('vezeteknev');
// stb.

Ezek utan megnezzuk az illeto IP cimet:


$ipcim = $_SERVER['REMOTE_ADDR'];

Itt meg veletlenul sem hasznaljuk azokat a neten az orbitalis baromsagokat, mint hogy az X-Forwarded-For fejlecbol szedjunk ki barmit is.

Vegezetul hasznaljuk a GeoIP extensiont, hogy megallapitsuk a delikvens orszagat. Ezt az extensiont persze fel kell telepiteni.


$orszag = geoip_country_code_by_name($ipcim);

Namost, ja jol ertem, neked ezeket valami mailben kellene elkuldeni, amit a mail() fuggveny valosit meg. Az eddig osszegyujtott adatokat szepen osszefuzod egy stringbe a pont (.) konkatenalo operatorral:


// Az elso ertekadas, minden tovabbi hozzakonkatenalas. A pontokra figyelj!
$mailbody  = 'Vezeteknev: ' . $vezeteknev . PHP_EOL;
$mailbody .= 'Keresztnev: ' . $keresztnev . PHP_EOL;
//stb.

Vegezetul pedig elkuldod a mailt:


mail('autoresponder@domainem.hu', 'Uj telepites', $mailbody, 'Content-Type: text/plain; charset=utf-8');

Remelem, ez megoldja a problemadat.