Beste Forumleden,

Ik heb een eigen bedrijf en onze programmeur is sinds 2-3 weken vertrokken. Nu zijn wij bezig met een nieuwe website, wij hebben ook een eigen CRM systeem waarin automatisch de contactformulieren komen als deze worden ingevuld.

Echter om dit op de nieuwe website te laten werken is nogal drama ( dit omdat ik nieuw ben met PHP )

ik hoopte dat 1 van jullie kan zien hoe onze oude programmeur dit toendertijd heeft gedaan.

Contactformulier op website:

<?php
$send = false;
if ($_POST) {
    $send = true;
    if (empty($_POST['naam']) || empty($_POST['email']) || empty($_POST['telefoon']) || empty($_POST['bericht'])) {
        $send = false;
    }
    if ($send) {

        $headers = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'From: Support <[email protected]>' . "\r\n";
        $headers .= 'To: ' . $_POST['naam'] . ' <' . $_POST['email'] . '>' . "\r\n";

        $clients = Client::find($_POST['email']);
        if (count($clients) > 0) {
            $client = $clients[0];
        } else {
            $client = Client::newClient('', 0, '', $_POST['naam'], '', '', $_POST['email'], $_POST['telefoon'], '');

        }
        $ticket = Ticket::newTicket($client, 'Website contactformulier', $_POST['bericht']);
        $url = "http://helpdesk.vas-ict.nl/index.php?ticket=" . $ticket->getId() . '&hash=' . $ticket->get('hash');
        $message = 'Geachte heer/mevrouw,</br>
</br>
Uw ticket is bij ons ontvangen. U kunt uw ticket volgen via deze link: <a href="' . $url . '">' . $url . '</a> </br></br> Met vriendelijke groet,</br></br>vas-ict';

        mail($_POST['email'], 'Website contactformulier', $message, $headers);
        echo "Bedankt voor uw bericht. Het bericht is verzonden en zal zo snel mogelijk in behandeling worden genomen.";
    }
}

if ($_POST && !$send) {
    echo "<span style='color:red'>Het formulier is niet verzonden want niet alle velden zijn ingevuld.</span>";
}
if (!$send) {
    ?>
    <form method="post">
        <table width="100%">
            <tbody>
            <tr>
                <td>Naam:</td>
                <td><input name="naam" style="width: 95%;" type="text"
                           value="<?= isset($_POST['naam']) ? $_POST['naam'] : '' ?>"/></td>
            </tr>
            <tr>
                <td>E-mail:</td>
                <td><input name="email" style="width: 95%;" type="text"
                           value="<?= isset($_POST['email']) ? $_POST['email'] : '' ?>"/></td>
            </tr>
            <tr>
                <td>Telefoon:</td>
                <td><input name="telefoon" style="width: 95%;" type="text"
                           value="<?= isset($_POST['telefoon']) ? $_POST['telefoon'] : '' ?>"/></td>
            </tr>
            <tr>
                <td>Bericht:</td>
                <td><textarea name="bericht"
                              style="width:95%; height:100px;"><?= isset($_POST['bericht']) ? $_POST['bericht'] : '' ?></textarea>
                </td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td><input type="submit" value="Verzenden"/></td>
            </tr>
            </tbody>
        </table>
    </form>
    <?php
}
?>

ik zie niet hoe deze aan de database gekoppeld zit.

alvast bedankt
Er moet dan een class zijn die Client heet, en daarin staat een functie die newTicket heet.
Deze zie ik inderdaad staan, ik wordt er alsnog niet wijzer van haha


public function getTickets($client_visible = false)
    {
        $tickets = array();
        $filter = "";
        if ($client_visible) {
            $filter = "AND client_visible = 1";
        }
        $query = "SELECT tickets.*, users.name AS added_by FROM tickets LEFT JOIN users ON users.id = user_id WHERE client_id = '" . $this->getId() . "' " . $filter . " ORDER BY START DESC";
        foreach (DB::getRows($query) as $row) {
            $tickets[] = new Ticket($row);
        }
        return $tickets;
    }
Die functie haalt via een Database-class (DB) de tickets op.
dus als ik dat contactformulier aan een nieuwe website toevoeg zou deze automatisch moeten werken?
Je moet dan wel de database uiteraard meenemen, en daarvan de juiste gegevens invoeren.
sorry dat ik zo onwetend ben hoor. Maar er wordt een nieuwe website in wordpress gemaakt. op dezelfde vps etc. alleen zal het db_wordpress worden of zo iets.
De manier van extra scripts (addons / plugins) schrijven voor WordPress zit heel anders in elkaar dan een normaal PHP-script.

Op https://codex.wordpress.org/Writing_a_Plugin staat uitleg geschreven over hoe je WordPress kan uitbouwen met eigen functies. Maar er zijn ook kant en klare plugins te vinden.
heb je misschien enige tips kwa kant en klare plugins?

nogmaals bedankt voor de moeite
Contact From 7, is een goede betrouwbare contact-plugin. Geen idee of het met een database werkt.

Reageren