Look at this!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Look at this!

    It's been like a year i haven't code strictly using OOP, only pieces... pieces of scripts lol..., and kinda now learning pdo, i just want you guys to tell me if i'm coding well or not before i continue
    class.core.php
    PHP Code:
    <?php


    class core extends config
    {

    function 
    status()
    {
    $config = new config();
    $dbhost $config->dbhost;
    $dbname $config->dbname;
    $dbuser $config->dbuser;
    $dbpass $config->dbpass;
    $pdo = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass, array(PDO::ATTR_PERSISTENT => true));

    $status htmlspecialchars($_POST["status"],ENT_QUOTES);
    $user $_SESSION["username"];
    $query $pdo->prepare("SELECT * FROM status WHERE user='$user'");
    $query->execute();
    if(
    $query->rowCount()=="0")
    {
    $query $pdo->prepare("INSERT INTO status VALUES ('$user', '$status')");
    $query->execute();
    }
    else
    {
    $query $pdo->prepare("UPDATE status SET status='$status' WHERE user='$user'");
    $query->execute();
    }
    header("Location: index.php?status_updated");
    exit;
    }

    function 
    main_page()
    {

    $config = new config();

    $dbhost $config->dbhost;
    $dbname $config->dbname;
    $dbuser $config->dbuser;
    $dbpass $config->dbpass;

    $pdo = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass, array(PDO::ATTR_PERSISTENT => true));

    $site_description $config->site_description;

    echo 
    '<br/><br/><div class="logo">
    <span class="red">A</span>
    <span class="lime">I</span>
    <span class="blue">O</span>
    <span class="black"> CHAT</span>
    <span class="red">!</span>
    </div><br/><hr/><br/><h1>'
    .$site_description.'</h1><br/>';
    if(isset(
    $_GET["logged_out"])) { echo '<div class="center"><span class="red">You have been logged out.</span></div><br/>'; }
    echo 
    '<hr/><br/><div class="center">
    <img src="img/Checkmark.png" alt="Checkmark"/> Login</div>
    <br/><form action="index.php?action=login" method="post">
    <div class="center">Username: <span class="red">*</span>
    <input type="text" maxlength="20" size="15" name="username"/><br/><br/>
    Password: <span class="red">*</span>
    <input type="password" maxlength="25" name="password" size="15"/><br/><br/>
    <input type="submit" value="Login..."/></div></form><br/><br/>'
    ;
    ?><div class="center">
    Don't have an account?
    <?php
    echo '<br/><br/><img src="img/Add_symbol.png" alt="register"/> <a href="index.php?action=register">Register Now</a>';

    echo 
    '<br/><br/><hr/><br/>Meet New Friends<br/><br/>';

    $query $pdo->prepare("SELECT * FROM photos ORDER BY rand() LIMIT 2");
    $query->execute();
    foreach(
    $query as $row)
    {
    echo 
    ' <a href="index.php?action=profile&amp;user='.$row["user"].'"><img class="shadow" src="thumb.php?path=upload/'.$row["name"].'" alt="Meet New Friends"/></a>';
    }
    echo 
    '<br/>';
    $query $pdo->prepare("SELECT * FROM photos ORDER BY rand() LIMIT 2");
    $query->execute();
    foreach(
    $query as $row)
    {
    echo 
    ' <a href="index.php?action=profile&amp;user='.$row["user"].'"><img class="shadow" src="thumb.php?path=upload/'.$row["name"].'" alt="Meet New Friends"/></a>';
    }

    echo 
    '<hr/><br/><br/>
    <div class="big">Features</div><div class="center">
    <ul><li>Mobile Chat Rooms</li>
    <li><a href="smileys.php">Awesome smileys</a></li>
    <li>Notifications</li>
    <li>Private messaging</li>
    <li>Shoutbox</li>
    <li><a href="games.php">AI chatbot / games</a></li>
    <li>Photo Albums</li><li><a href="forum.php">Forums / Discussion</a></li>
    <li>Custom profile layouts - colors, videos etc...</li>
    <li>and many more...</li>
    </ul></div><hr/>
    <br/><br/><div class="big">Users Registered [<a href="index.php?action=all_users"><span class="red">'
    ;

    $query $pdo->prepare("SELECT * FROM members");
    $query->execute();
    echo 
    $query->rowCount();
    echo 
    '</span></a>]</div>';

    echo 
    '</div><br/><br/>';
    }
    function 
    user_logged()
    {

    $config = new config();

    $dbhost $config->dbhost;
    $dbname $config->dbname;
    $dbuser $config->dbuser;
    $dbpass $config->dbpass;

    $pdo = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass, array(PDO::ATTR_PERSISTENT => true));

    $user htmlspecialchars($_SESSION["username"],ENT_QUOTES);
    echo 
    '<br/><div class="bold"><img src="img/User2.png" alt="User"/>Logged in as '.$user.'!</div><br/>';
    echo 
    '<div class="center">'.this_time().'</div><br/>';
    echo 
    '<div class="center">';
    echo 
    "What's on your mind?<br/><br/>";
    $query $pdo->prepare("SELECT * FROM status WHERE user='$user'");
    $query->execute();
    if(
    $query->rowCount()>0)
    {
    $row $query->fetch(PDO::FETCH_ASSOC);
    $status $row["status"];
    }
    else
    {
    $status '';
    }
    if(isset(
    $_GET["status_updated"])) { echo '<div class="center"><span class="red">Status Updated!</span></div><br/>'; }

    echo 
    '<form action="index.php?action=status" method="post"><div class="center"><input type="text" name="status" value="'.$status.'" maxlength="250"/>
    <br/><br/><input type="submit" value="Update!"/></div></form>'
    ;

    echo 
    '<br/>Notifications! [<span class="red">';
    $query $pdo->prepare("SELECT * FROM notifications WHERE user='$user'");
    $query->execute();
    echo 
    $query->rowCount();
    echo 
    '</span>]<br/><br/>';

    echo 
    '</div>';
    echo 
    '<div class="bold"><a href="index.php?action=logout"><img src="img/Minus.png" alt="Log Out"/><br/>Log out</a></div><br/>';

    }

    function 
    logout()
    {
    session_destroy();
    header("Location: index.php?logged_out");
    exit;
    }

    function 
    register_new()
    {

    }

    function 
    login()
    {
    if(empty(
    $_POST["username"]) && empty($_POST["password"]))
    {
    echo 
    '<br/><div class="bold">Login!</div><br/><br/>
    <form action="index.php?action=login" method="post">
    <div class="center">Username: <span class="red">*</span>
    <input type="text" maxlength="20" size="15" name="username"/><br/><br/>
    Password: <span class="red">*</span>
    <input type="password" maxlength="25" name="password" size="15"/><br/><br/>
    <input type="submit" value="Login..."/></div></form><br/>'
    ;
    }
    else
    {
    $username htmlspecialchars($_POST["username"], ENT_QUOTES);
    $config = new config();

    $dbhost $config->dbhost;
    $dbname $config->dbname;
    $dbuser $config->dbuser;
    $dbpass $config->dbpass;
    $pdo = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass, array(PDO::ATTR_PERSISTENT => true));

    $query $pdo->prepare("SELECT * FROM members WHERE username='$username'");
    $query->execute();

    $row $query->fetch(PDO::FETCH_ASSOC);

    $key $row["password"];
    $password md5($_POST["password"]);

    if(
    $password===$key)
    {
    $_SESSION["username"] = $username;
    header("Location: index.php");
    exit;
    }
    else
    {
    echo 
    '
    <br/><div class="bold">Login!</div><br/>
    <div class="error"><img src="img/Warning_2.png" alt="Error"/> Incorrect Username and/or Password!</div><br/>
    <form action="index.php?action=login" method="post">
    <div class="center">Username: <span class="red">*</span>
    <input type="text" maxlength="20" size="15" name="username"/><br/><br/>
    Password: <span class="red">*</span>
    <input type="password" maxlength="25" name="password" size="15"/><br/><br/>
    <input type="submit" value="Login..."/></div></form><br/>
    '
    ;
    }
    }

    }

    function 
    online($list)
    {
    require_once(
    'class/class.pagination.php');

    $config = new config();
    $dbhost $config->dbhost;
    $dbname $config->dbname;
    $dbuser $config->dbuser;
    $dbpass $config->dbpass;

    switch(
    $list)
    {
    case 
    "all_users":
    echo 
    '<div class="center">';
    try
    {
    $dbh = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass, array(PDO::ATTR_PERSISTENT => true));
    }
    catch(
    PDOException $e)
    {
        print 
    "Error!: " $e->getMessage() . "<br/>";
        die();
    }


    if(isset(
    $_GET['page']))
    {
        
    $page $_GET['page'];
    }
    else
    {
        
    $page 1;
    }


    $options = array(
        
    'results_per_page'              => 20,
        
    'url'                           => 'index.php?action=all_users&amp;page=*VAR*',
        
    'db_handle'                     => $dbh
    );


    try
    {
        
    $paginate = new pagination($page'SELECT * FROM members'$options);
    }

    catch(
    paginationException $e)
    {
        echo 
    $e;
        exit();
    }

    if(
    $paginate->success == true)
    {

       
        
    $result $paginate->resultset->fetchAll();

        
        echo 
    '<br/><div class="bold">All users: <span class="red">['.$paginate->total_results.']</span></div><br/><br/>';

        foreach(
    $result as $row)
        {
            echo 
    '<a href="index.php?action=profile&amp;user='.$row["username"].'">'.$row["username"].'</a><br/><br/>';
        }
        echo 
    $paginate->links_html;

    }
    echo 
    '</div><br/>';
    break;
    }

    }

    function 
    profile($profile)
    {
    $config = new config();

    $dbhost $config->dbhost;
    $dbname $config->dbname;
    $dbuser $config->dbuser;
    $dbpass $config->dbpass;

    $pdo = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass, array(PDO::ATTR_PERSISTENT => true));

    echo 
    "<br/><div class=\"bold\">$profile's Proflie</div><br/>
    <div class=\"center\">"
    ;

    $query $pdo->prepare("SELECT * FROM online WHERE user='$profile'");
    $query->execute();
    if(
    $query->rowCount()>0)
    {
    echo 
    '<div class="big"><span class="lime"><img src="img/Valid.png" alt="Online"/> Online!</span></div><br/>';
    }
    else
    {
    echo 
    '<div class="big"><span class="red"><img src="img/Warning_2.png" alt="Offline"/> Offline!</span></div><br/>';
    }
    $query $pdo->prepare("SELECT * FROM propic WHERE user='$profile' LIMIT 1");
    $query->execute();
    if(
    $query->rowCount()>0)
    {
    foreach(
    $query as $row)
    {
    echo 
    '<img class="propic" src="upload/'.$row["image"].'" alt="'.$profile.'"/>';
    }
    }
    else
    {
    echo 
    '<img class="propic" src="img/nophoto.png" alt="'.$profile.'"/><br/><br/>'.$profile.' has not chosen a profile picture.';
    }
    echo 
    '<br/><br/>My Friends ';
    $query $pdo->prepare("SELECT * FROM friends WHERE user='$profile'");
    $query->execute();
    echo 
    '[<span class="red">'.$query->rowCount().'</span>]';

    echo 
    '<br/><br/> My Photos ';
    $query $pdo->prepare("SELECT * FROM photos WHERE user='$profile'");
    $query->execute();
    echo 
    '[<span class="red">'.$query->rowCount().'</span>]';

    echo 
    '<br/><br/><img src="img/Calendar.png" alt="Calendar"/><br/>Date of Birth<br/>';
    $query $pdo->prepare("SELECT * FROM members WHERE username='$profile'");
    $query->execute();
    foreach(
    $query as $row)
    {
    echo 
    $row["date"];
    }

    echo 
    '<br/><br/><img src="img/sex.png" alt="Gender"/><br/>Gender<br/>';
    $query $pdo->prepare("SELECT * FROM members WHERE username='$profile'");
    $query->execute();
    foreach(
    $query as $row)
    {
    echo 
    $row["gender"];
    }

    echo 
    '<br/><br/><img src="img/Location.png" alt="Location"/><br/>Location<br/>';
    $query $pdo->prepare("SELECT * FROM members WHERE username='$profile'");
    $query->execute();
    foreach(
    $query as $row)
    {
    echo 
    $row["country"];
    }

    echo 
    '<br/><br/><img src="img/About.png" alt="About"/><br/>About Me<br/>';
    $query $pdo->prepare("SELECT * FROM members WHERE username='$profile'");
    $query->execute();
    foreach(
    $query as $row)
    {
    echo 
    $row["about"];
    }
    echo 
    '<br/><br/>';
    echo 
    '</div>';
    }

    }

    ?>
    index.php
    PHP Code:
    <?php

    include("class/class.config.php");
    include(
    "class/class.core.php");
    include(
    "include/header.php");

    $config = new config();
    $action = new core();

    $dbhost $config->dbhost;
    $dbname $config->dbname;
    $dbuser $config->dbuser;
    $dbpass $config->dbpass;

    $pdo = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass, array(PDO::ATTR_PERSISTENT => true));

    if(!empty(
    $_GET["action"]))
    {
    $show htmlspecialchars($_GET["action"],ENT_QUOTES);
    }
    else
    {
    if(!empty(
    $_SESSION["username"]))
    $show 'user_logged'; } else { $show 'main_page'; }
    }


    switch(
    $show)
    {
    case 
    "login":
    $action->login();
    break;

    case 
    "status":
    $action->status();
    break;

    case 
    "logout":
    $action->logout();
    break;

    case 
    "all_users":
    $action->online("all_users");
    break;

    case 
    "profile":
    $profile htmlspecialchars($_GET["user"],ENT_QUOTES);
    $action->profile($profile);
    break;

    case 
    "register_new":
    $action->register_new();
    break;

    case 
    "main_page":
    $action->main_page();
    break;

    case 
    "user_logged":
    $action->user_logged();
    break;
    }

    include(
    "include/footer.php");

    ?>
    Last edited by kevk3v; 23.01.13, 07:59.
    Mobile chat, iphone chat, android chat, chat, rooms http://www.aiochat.com

    #2
    well, that looks like garbage, not oop.. and take a look at mysqli instead of pdo, it easier to use, imo.

    at first, rm -R all that code and look for MVC patterns.
    Nous Ne Dansos Pas, Nous Sommes Le Danse.!

    Comment

    Working...
    X