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
https://forums.phpfreaks.com/topic/282669-edit-function-date-incorrect/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.