[ Labyrinthman @ 04.05.2014. 16:30 ] @
Ucim PDO i pokusavam da napravim da mi se ubacuju podaci u formu preko klase Posts ali nesto mi pravi problem.

connect.php
Code:

class Connection {

    public function __construct() {
        $dsn = "mysql:host=localhost;dbname=nascms";
        $user = "root";
        $password = "";

        try {
            @$pdo = new PDO($dsn, $user, $password);
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         
        } catch (PDOException $exc) {
            echo $exc->getMessage();
            exit();
        }
    }

}
$connection=new Connection;



insertPost.php
Code:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert new post</title>
    </head>
    <body>
        <form method="post" action="insertPost.php" enctype="multipart/form-data" >
            <table align="center" border="1" width="500">
                <tr>
                    <td align="center" colspan="6" bgcolor="yellow"><h1>Insert new post here</h1> </td>
                </tr>
                <tr>
                    
                    <td align="right" >Post title</td>
                    <td><input type="text" name="title" size="50"></td>
                </tr>
                <tr>
                    <td align="right">Post author</td>
                    <td><input type="text" name="author" size="50"></td>
                </tr>
                <tr>
                    <td align="right">Post keywords</td>
                    <td><input type="text" name="keywords" size="50"></td>
                </tr>
                 <tr>
                    <td align="right">Post image</td>
                    <td><input type="file" name="image" size="50"></td>
                </tr>
                <tr>
                    <td align="right">Post content</td>
                    <td><textarea name="content" cols="40" rows="20" ></textarea></td>
                </tr>
                <tr>
                    <td align="center" colspan="6">
                        <input type="submit" name="submit"value="Publish now">
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>
<?php
 

if(!empty($_POST['submit']))
{
    require_once 'includes/Posts.php';
     $title = $_POST['title'];
        $date = date('d-m-y');
        $author = $_POST['author'];
        $keywords = $_POST['keywords'];
        $image = $_FILES['image']['name'];
        $image_tmp = $_FILES['image']['tmp_name'];
        $content = $_POST['content'];
    
    if(Posts::insert(@$title, @$date, @$author, @$keywords, @$image, @$image_tmp, @$content)){
        echo "Uspesan unos";
    }
}
 

?>


Posts.php
Code:

<?php

require_once 'connect.php';

class Posts {

    public function insert($title, $date, $author, $keywords, $image, $image_tmp, $content) {
        global $connection;


        if (empty($title) or empty($date) or empty($author) or empty($keywords) or empty($content)) {
            echo "<script>alert('fill all the fields')</script>";
            exit();
        } else {
            global $connection;
           
            move_uploaded_file($image_tmp, "../images/$image");
            $sql = "INSERT INTO posts VALUES(:post_title,:post_date,:post_author,
                :post_image,:post_keywords,:post_content)" or die();

            $stmt = @$pdo->prepare($sql);
            $stmt->bindParam(":post_title", $title, PDO::PARAM_STR);
            $stmt->bindParam(":post_date", $date, PDO::PARAM_STR);
            $stmt->bindParam(":post_author", $author, PDO::PARAM_STR);
            $stmt->bindParam(":post_image", $image, PDO::PARAM_STR);
            $stmt->bindParam(":post_keywords", $keywords, PDO::PARAM_STR);
            $stmt->bindParam(":post_content", $content, PDO::PARAM_STR);
            $stmt->execute();
        }
    }

}

?>

[ Panajotov @ 06.05.2014. 01:30 ] @
Pogledaj ovaj tutorijal, sve ne lepo i lako objasnjeno na srpskom:
Code:
http://viewsource.rs/php-pdo-crud-operacije/


Ako te ne mrzi da se registrujes, mozes ovde pogledati, lepo objasnjeno do sitnih mrvica:
Code:
http://ljuska.org/viewtopic.php?f=71&t=14521&p=109971
[ verodostojan @ 07.05.2014. 08:29 ] @
U klasi Posts.php funkcija insert() ti je public (ne i static), tako da je ne mozes pozivati preko scope-a (::) tako da je u ovom slucaju moras pozivati preko instance klase.
Ili je u tvom slucaju izmeni u public static function insert(...).
[ Labyrinthman @ 24.05.2014. 17:43 ] @
Hvala vam ljudi na odgovorima ali ja sam resio ovaj problem pre izvesnog vremena i danas se setih da dodjem da vidim ima li kakvih odgovora.

Inace ako bilo koga interesuje problem sam resio tako sto sam iskoristio ovaj tutorial http://youtu.be/B1_yi7HM0Cg


@Panajatov

Hvala ti na linovima, pogledao sam sadrzaj i odlicno je opisano oko PDO.