Jump to content

Edit function date incorrect


arjanvr

Recommended Posts

I have a add, edit and delete script with the date set to Day-Month-Year. When I add an entry it works all fine but when I click edit the date is messed up and it's only a string of numbers. When you just save then it will set the date to 1-1-1970 but when you fill out the correct date in the edit form it does work again. How can I fix it so when I click edit it retrieves the correct date into the edit form?

<?php
        /*
                Staat de gebruiker toe om nieuwe records toe te voegen te bewerken
        */

        // connect to the database
        include("connect-db.php");
        
        # errors weergeven
        ini_set('display_errors',1); // 1 == aan , 0 == uit
        error_reporting(E_ALL | E_STRICT);

        // Maakt nieuw/edit record formulier
        function renderForm($klantnummer = '', $bedrijfsnaam ='', $adres ='', $postcode ='', $plaats ='', $telefoon='', $londerhoud ='', $aantal ='', $vonderhoud='', $error = '', $id = '')
        { ?>
                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
                <html>
                        <head>  
                                <title>
                                        <?php if ($id != '') { echo "Bewerk onderhoud"; } else { echo "Nieuw onderhoud"; } ?>
                                </title>
                                <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
                        </head>
                        <body>
                                <h1><?php if ($id != '') { echo "Bewerk onderhoud"; } else { echo "Nieuw onderhoud"; } ?></h1>
                                <?php if ($error != '') {
                                        echo "<div style='padding:4px; border:1px solid red; color:red'>" . $error
                                                . "</div>";
                                } ?>
                                
                                <form action="" method="post">
                                <div>
                                        <?php if ($id != '') { ?>
                                                <input type="hidden" name="id" value="<?php echo $id; ?>" />
                                                <p>ID: <?php echo $id; ?></p>
                                        <?php } ?>
                                        
                                        <strong>Klantnummer:</strong> <input type="text" name="klantnummer"
                                                value="<?php echo $klantnummer; ?>"/><br/>
                                        <strong>Bedrijfsnaam:</strong> <input type="text" name="bedrijfsnaam"
                                                value="<?php echo $bedrijfsnaam; ?>"/><br/>
                                        <strong>Adres:</strong> <input type="text" name="adres"
                                                value="<?php echo $adres; ?>"/><br/>
                                        <strong>Postcode:</strong> <input type="text" name="postcode"
                                                value="<?php echo $postcode; ?>"/><br/>
                                        <strong>Plaats:</strong> <input type="text" name="plaats"
                                                value="<?php echo $plaats; ?>"/><br/>
                                        <strong>Telefoonnumer:</strong> <input type="text" name="telefoon"
                                                value="<?php echo $telefoon; ?>"/><br/>
                                        <strong>Laatste onderhoud:<br><small>dag-maand-jaar</small></strong> <input type="text" name="londerhoud"
                                                value="<?php echo $londerhoud; ?>"/><br/>
                                        <strong>Aantal apparaten:</strong> <input type="text" name="aantal"
                                                value="<?php echo $aantal; ?>"/><br/>
                                        <strong>Volgende onderhoud:<br><small>dag-maand-jaar</small></strong> <input type="text" name="vonderhoud"
                                                value="<?php echo $vonderhoud; ?>"/><p/>
                                        <input type="submit" name="submit" value="Submit" /><p>
                                        <a href="index.html">Terug naar het overzicht</a>
                                </div>
                                </form>
                        </body>
                </html>
                
        <?php }



        /*

           BEWERK RECORD

        */
        // Wanneer de 'id' variabel is ingesteld in de URL, weten we dat we een record moeten aanpassen
        if (isset($_GET['id']))
        {
                // Wanneer de submitknop word ingedrukt word het formulier verwerkt
                if (isset($_POST['submit']))
                {
                        // Zorgt ervoor dat de 'id' geldig is
                        if (is_numeric($_POST['id']))
                        {
                                // verkrijg variabelen van URL/formulier
                                $id = $_POST['id'];
                                $klantnummer = htmlentities($_POST['klantnummer'], ENT_QUOTES);
                                $bedrijfsnaam = htmlentities($_POST['bedrijfsnaam'], ENT_QUOTES);
                                $adres = htmlentities($_POST['adres'], ENT_QUOTES);
                                $postcode = htmlentities($_POST['postcode'], ENT_QUOTES);
                                $plaats = htmlentities($_POST['plaats'], ENT_QUOTES);
                                $telefoon = htmlentities($_POST['telefoon'], ENT_QUOTES);
                                $londerhoud = htmlentities(strtotime($_POST['londerhoud']), ENT_QUOTES);
                                $aantal = htmlentities($_POST['aantal'], ENT_QUOTES);
                                $vonderhoud = htmlentities(strtotime($_POST['vonderhoud']), ENT_QUOTES);
                                
                                {
                                        // update de database
                                        if ($stmt = $mysqli->prepare("UPDATE klanten SET klantnummer = ?, bedrijfsnaam = ?, adres = ?, postcode = ?, plaats = ?, telefoon = ?, londerhoud = ?, aantal = ?, vonderhoud = ?
                                                WHERE id=?"))
                                        {
                                                $stmt->bind_param("sssssssssi", $klantnummer, $bedrijfsnaam, $adres, $postcode, $plaats, $telefoon, $londerhoud, $aantal, $vonderhoud, $id);
                                                $stmt->execute();
                                                $stmt->close();
                                        }
                                        // toont foutmelding indien nodig
                                        else
                                        {
                                                echo "ERROR: Could not prepare SQL statement.<p>Error: " . $mysqli->error;
                                        }
                                        
                                        // redirect na submit van formulier
                                        header("Location: view.php");
                                }
                        }
                        // bij ongeldige 'id' komt een foutmelding
                        else
                        {
                                echo "Error!";
                        }
                }
                // Indien het formulier niet verstuurd is word de database en het formulier weergegeven
                else
                {
                        // zorgt dat de 'id' geldig is
                        if (is_numeric($_GET['id']) && $_GET['id'] > 0)
                        {
                                // verkrijg 'id' van URL
                                $id = $_GET['id'];
                                
                                // verkrijg de records uit de database
                                if($stmt = $mysqli->prepare("SELECT * FROM klanten WHERE id=?"))
                                {
                                        $stmt->bind_param("i", $id);
                                        $stmt->execute();
                                        
                                        $stmt->bind_result($id, $klantnummer, $bedrijfsnaam, $adres, $postcode, $plaats, $telefoon, $londerhoud, $aantal, $vonderhoud);
                                        $stmt->fetch();
                                        
                                        // toon het formulier
                                        renderForm($klantnummer, $bedrijfsnaam, $adres, $postcode, $plaats, $telefoon, $londerhoud, $aantal, $vonderhoud, NULL, $id);
                                        
                                        $stmt->close();
                                }
                                // toon een error wanneer de query een error heeft
                                else
                                {
                                        echo "Error: could not prepare SQL statement";
                                }
                        }
                        // wanneer het 'id' ongeldig is word de gebruiker naar view.php doorgestuurd
                        else
                        {
                                header("Location: view.php");
                        }
                }
        }



        /*

           NIEUW RECORD

        */
        // wanneer geen 'id' is ingesteld volgt een nieuwe invoer
        else
        {
                // proces het formlier na submit
                if (isset($_POST['submit']))
                {
                        // verkrijg formulierdata
                        $klantnummer = htmlentities($_POST['klantnummer'], ENT_QUOTES);
                        $bedrijfsnaam = htmlentities($_POST['bedrijfsnaam'], ENT_QUOTES);
                        $adres = htmlentities($_POST['adres'], ENT_QUOTES);
                        $postcode = htmlentities($_POST['postcode'], ENT_QUOTES);
                        $plaats = htmlentities($_POST['plaats'], ENT_QUOTES);
                        $telefoon = htmlentities($_POST['telefoon'], ENT_QUOTES);
                        $londerhoud = htmlentities(strtotime($_POST['londerhoud']), ENT_QUOTES);
                        $aantal = htmlentities($_POST['aantal'], ENT_QUOTES);
                        $vonderhoud = htmlentities(strtotime($_POST['vonderhoud']), ENT_QUOTES);
                        
                        {
                                // insert the new record into the database
                                if ($stmt = $mysqli->prepare("INSERT klanten (klantnummer, bedrijfsnaam, adres, postcode, plaats, telefoon, londerhoud, aantal, vonderhoud) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"))
                                {
                                        $stmt->bind_param("sssssssss", $klantnummer, $bedrijfsnaam, $adres, $postcode, $plaats, $telefoon, $londerhoud, $aantal, $vonderhoud);
                                        $stmt->execute();
                                        $stmt->close();
                                }
                                // Toon een foutmelding indien nodig
                                else
                                {
                                        echo "ERROR: Could not prepare SQL statement.<p>Error: " . $mysqli->error;
                                }
                                
                                // stuur gebruiker door
                                header("Location: view.php");
                        }
                        
                }
                // wanneer geen formulier is ingediend word de database weergegeven
                else
                {
                        renderForm();
                }
        }
        
        // sluit mysqli verbinding
        $mysqli->close();
?>

I have the same problem with this script.

<?php
        /*
                Staat de gebruiker toe om nieuwe records toe te voegen te bewerken
        */

        // connect to the database
        include("connect-db.php");
        
        # errors weergeven
        ini_set('display_errors',1); // 1 == aan , 0 == uit
        error_reporting(E_ALL | E_STRICT);

        // Maakt nieuw/edit record formulier
        function renderForm($bedrijfsnaam ='', $factuurbedrag ='', $vervaldatum ='', $voldaan ='', $opmerkingen ='', $id ='', $error = '')
        {

            $title = (empty($id)) ? "Nieuwe factuur" : "Bewerk factuur";

            // all HTML is now held within the $HTML variable.
            $HTML = <<<HTML
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
                <html>
                        <head>  
                                <title>$title</title>
                                <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
                        </head>
                        <body>
                                <h1>$title</h1>
                                $error
                                
                                <form action="facturen-nw.php" method="post">
                                <div>
HTML;
// DO NOT MOVE?CHANGE THE ABOVE LNE

            if (!empty($error))
                $HTML .= "\n<div style='padding:4px; border:1px solid red; color:red'>" . $error . "</div>\n\n";

            if(!empty($id))
                $HTML .= '<input type="hidden" name="id" value="' . $id . '" /><p>ID:' . $id .'</p>';
            $HTML .= <<<HTML
                                                                                
                                        <strong>Bedrijfs(naam):</strong>
                                        <input type="text" name="bedrijfsnaam" value="$bedrijfsnaam"/><br/>
                                        <strong>Factuurbedrag:</strong>
                                        <input type="text" name="factuurbedrag" value="$factuurbedrag"/><br/>
                                        <strong>Vervaldatum:</strong>
                                        <input type="text" name="vervaldatum" value="$vervaldatum"/><br/>
                                        <strong>Voldaan (ja/nee):</strong>
                                        <input type="text" name="voldaan" value="$voldaan"/><br/>
                                        <strong>Opmerkingen:</strong>
                                        <input type="text" name="opmerkingen" value="$opmerkingen"/><p/>
                                        <input type="submit" name="submit" value="Submit" /><p>
                                        <a href="index.html">Terug naar het overzicht</a>
                                </div>
                                </form>
                        </body>
                </html>
HTML;
// DO NOT MOVE/CHANGE THE ABOVE LINE
                
            // function returns the generated HTML
            return $HTML;
        }

        // set action to create a new record
        $action = 'new';

        // override action to either edit or update
        if(isset($_REQUEST['id']) && is_numeric($_REQUEST['id']))
        {
            // get the record id from _GET or _POST
            $id = (int) $_REQUEST['id'];

            // what action we're doing
            // if id is in url eg: facturen.php?id=1 then we're editing the record
            // If its not in the url then we're updating the record
            $action = isset($_GET['id']) ? 'edit' : 'update';
        }

        // if the form has been submitted
        if(isset($_POST['submit']))
        {

            $bedrijfsnaam = htmlentities($_POST['bedrijfsnaam'], ENT_QUOTES);
            $factuurbedrag = htmlentities($_POST['factuurbedrag'], ENT_QUOTES);
            $vervaldatum = htmlentities(strtotime($_POST['vervaldatum']), ENT_QUOTES);
            $voldaan = htmlentities($_POST['voldaan'], ENT_QUOTES);
            $opmerkingen = htmlentities($_POST['opmerkingen'], ENT_QUOTES);


            // run query depending on actions
            if($action == 'new') // inserts new record
            {
                $stmt = $mysqli->prepare("INSERT INTO facturen SET bedrijfsnaam = ?, factuurbedrag = ?, vervaldatum = ?, voldaan = ?, opmerkingen = ?");
                $stmt->bind_param("sssss", $bedrijfsnaam, $factuurbedrag, $vervaldatum, $voldaan, $opmerkingen);
            }
            elseif($action == 'update') // updates record
            {
                $stmt = $mysqli->prepare("UPDATE facturen SET bedrijfsnaam = ?, factuurbedrag = ?, vervaldatum = ?, voldaan = ?, opmerkingen = ? WHERE id=?");
                $stmt->bind_param("sssssi", $bedrijfsnaam, $factuurbedrag, $vervaldatum, $voldaan, $opmerkingen, $id);
            }

            // executes query and redirects on sucess
            if($stmt->execute())
            {
                header('Location: facturen.php');
                exit;
            }
            else
            {
                $error = 'Cannot continue! Error with database';
            }

            // otherwise display form with error
            echo enderForm($bedrijfsnaam, $factuurbedrag, $vervaldatum, $voldaan, $opmerkingen, $id, $error);


        } 
        elseif($action == 'edit')
        {
            $stmt = $mysqli->prepare("SELECT * FROM facturen WHERE id=?");
            $stmt->bind_param("i", $id);
            $stmt->execute();
            $stmt->bind_result($id, $bedrijfsnaam, $factuurbedrag, $vervaldatum, $voldaan, $opmerkingen);
            $stmt->fetch();

            echo renderForm($bedrijfsnaam, $factuurbedrag, $vervaldatum, $voldaan, $opmerkingen, $id);
        }
        else
            echo renderForm();
        
        // sluit mysqli verbinding
        $mysqli->close();
?>

Someone changed the date for me from Y-M-D to D-M-Y so I dont have a clue what is wrong..

 

Please help..

 

Thank you

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.