register.php 5.16 KB
<?php

if($_POST) {
    $validator = array(
        "nick" =>  "/[a-zA-Z0-9]+/",
        "password" => "/.{5,}/",
        "passwordcheck" => "/.{5,}/",
        "email" => "(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6})",
        "name" => "/[a-zA-Z- ]+/",
        "address" => "/[a-zA-Z0-9- \.]+/", 
        "zip" => "/[0-9]+/",
        "town" => "/[a-zA-Z0-9- \.]+/",
        "phone" => "/[0-9 ]+/",
        "sex" => "/[0-9]{1,2}/",
        "type" => "/[0-9]{1,2}/"
    );

    $errors = array();

    $errortrans = array(
        "nick" => "Nick ei kelpaa",
        "password" => "Salasana ei kelpaa",
        "passwordcheck" => "Salasanan varmistus ei kelpaa",
        "email" => "Sähköpostiosoite ei kelpaa",
        "name" => "Nimi ei kelpaa",
        "address" => "Osoite ei kelpaa",
        "zip" => "Postinumero ei kelpaa",
        "town" => "Kaupunki ei kelpaa",
        "phone" => "Puhelinnumero ei kelpaa",
        "sex" => "Sukupuoli valitsematta",
        "type" => "Tyyppi valitsematta"
        );
    foreach($validator as $key => $val) {
        $curval = $db->quote($_POST[$key]);
        if ( !preg_match($val, $curval)) {
            array_push($errors, $errortrans[$key]);
        }
    }

    if ( $_POST['password'] != $_POST['passwordcheck'] ) {
        array_push($errors, 'Salasana ja sen varmistus eivät täsmää');
    }


    if (count($errors) != 0) {
    } else {
        $p = $_POST;
        $ins = array(
            "NICK" => $p['nick'],
            "ZIP" =>  $p['zip'],
            "PHONE" => $p['phone'],
            "PASSWORD" => sha1($p['password']),
            "NICK" => $p['nick'],
            "CREATED" => date('Y-m-d H:i:s'),
            "EDITED" => date('Y-m-d H:i:s'),
            "EMAIL" => $p['email'],
            "ADDRESS" => $p['address'],
            "FEMALE" => $p['sex'],
            "NAME" => $p['name'],
            "TOWN" => $p['town'],
            "TYPE" => $p['type'],
        );
        $nick = $db->quote($p['nick']);
        if($db->fetchOne("SELECT NICK FROM USER WHERE NICK = $nick")) {
            die("Nick on jo valittu, valitse toinen nick. <a href='/'>Etusivulle</a>");
        } 
        $db->insert('USER', $ins);

        $asia .= "Tiedot kirjattu hyväksytysti, voit nyt kirjautua sisään jatkaaksesi lippujen tilaamista. Kirjautumislomake löytyy <a href='/'>etusivulta</a>.";
        $message = "
Hei ". $p['name'] .".


Kiitos rekisteröitymisestä Insomnia XI lippukauppaan osoitteessa http://kauppa.insomnia.fi/
Käyttäjätunnuksesi on $nick (ilman lainausmerkkejä)
Tietoturvasyistä emme lähetä salasanaa sähköpostitse. Mikäli unohdat salasanasi, ota yhteys laskutus@insomnia.fi .
Muissakin lippukauppaan liittyvissä kysymyksissä voit ottaa yhteyttä em. osoitteeseen.


Mikäli et ole vielä kirjautunut lippukauppaan, voit tehdä sen osoitteessa http://kauppa.insomnia.fi äsken rekisteröimilläsi tunnuksilla. Lippukaupassa voit halutessasi perustaa ryhmän, sekä hyväksyä tietojen tarkastamisen jälkeen tilauksesi ja tilata laskun. Laskun maksamisen jälkeen pääset varaamaan paikkoja paikkakartasta ja näin varmistamaan pääsysi vuoden 2009 Insomnioille!


    Tapahtumaterveisin,
    Insomnia XI organisaatio
            ";
        mailaa($p['email'], 'Insomnia XI Lippukaupan kirjautumistiedot', $message);
    }
}

if (!$_POST OR count($errors) != 0) {
    $asia .= "<div id='left'>";
    $f = new renderForm();
    $f->start('index.php?pid=register', 'POST');
    $f->inp("Käyttäjätunnus", "nick");
    $f->inp("Salasana", "password", "password");
    $f->inp("Salasanan varmistus", "passwordcheck", "password");
    $f->inp("Sähköposti", "email");
    $f->inp("Etu- ja sukunimi", "name");
    $f->inp("Osoite", "address");
    $f->inp("Postinumero", "zip");
    $f->inp("Paikkakunta", "town");
    $f->inp("Puhelinnumero", "phone");
    $f->br();
    $f->inp("Mies", "sex", "radio", "0");
    $f->inp("Nainen", "sex", "radio", "1");
    $f->br();

    $f->inp("Konepaikkalippu (30&euro;)", "type", "radio", "0");
    $f->inp("Vierailijalippu (10&euro;)", "type", "radio", "1");
    $f->inp("PRO-konepaikka (40&euro;)", "type", "radio", "2");
    $f->br();
    $f->inp("Rekisteröidy", "submit", "submit", "GO!");

    $asia .=  $f->end();
    $asia .= "</div>";

    $asia .= "<div id='right'>";
    if(count($errors) != 0) {
        foreach ($errors as $err) {
            $errret .= "- $err<br>\n";
        }
        $asia .= note("Virhe tiedoissa", "<b>Seuraavissa kentissä oli virhe:</b><br> $errret", 'error');
    }
    $asia .= note("Käyttäjätiedoista", "Käyttäjätunnus toimii tunnuksenasi lippukauppaan sekä nickinäsi Insomnia XI verkkopalveluissa. Käyttäjätunnus saa sisältää pieniä ja isoja kirjaimia sekä numeroita.<br><br>Salasanan tulee olla vähintään viisi merkkiä pitkä.");
    $asia .= note("Sähköpostiosoite", "Tarkastathan sähköpostin oikeinkirjoituksen, sillä lipputiedot, laskutiedot sekä kaikki tapahtumaan liittyvä tärkeä informaatio lähetetään sinulle sähköpostitse.");
    $asia .= note("Lipputyypin valinta", "Rekisteröityessäsi valitset oman lippusi lipputyypin. <br>Mikäli haluat perustaa ryhmän, se onnistuu myöhemmin. <br>Mahdolliset ryhmäalennukset lasketaan hintaan myöhemmin.");
    $asia .= "</div>";
}

?>