PHP School Assignment? Project Due Tomorrow? Chat LIVE With A Programming Expert!

Welcome to Dream.In.Code
Become a PHP Expert!

Join 300,413 PHP Programmers for FREE! Get instant access to thousands of PHP experts, tutorials, code snippets, and more! There are 1,594 people online right now. Registration is fast and FREE... Join Now!




Display images

2 Pages V  1 2 >  

Display images

NeekWorld

30 Jun, 2009 - 01:39 PM
Post #1

New D.I.C Head
*

Joined: 5 Oct, 2008
Posts: 49


My Contributions
ok i have searched everywhere and this will be like my 3rd post to different sites requesting some help on this.

i am trying to create an admin side of a website. this side should be able to view images that users have uploaded by username. i have the script to upload the images already. the script creates a file for the user with their username in a primary file that will be on the server to hold all users. i know im supposed to save the location of where the image is and store the location in the database. but how exactly do i go about it? do i need a second php file that has this new script or can i put a few lines of code in the one i have?

any help would be appreciated

User is offlineProfile CardPM
+Quote Post


CTphpnwb

RE: Display Images

30 Jun, 2009 - 02:13 PM
Post #2

D.I.C Lover
Group Icon

Joined: 8 Aug, 2008
Posts: 2,065



Thanked: 151 times
Dream Kudos: 100
Expert In: PHP

My Contributions
Are you receiving any errors? Does this code not work that way you intended it? When asking for help there are a couple items that are vital in order for someone to properly help you:
  • Post the code you're having problems with
  • Post the exact error you're receiving, if you are receiving one
  • If no error explain what the code is doing versus what you want it to do
  • Post your question in the body of your post, not the description field

User is offlineProfile CardPM
+Quote Post

NeekWorld

RE: Display Images

30 Jun, 2009 - 02:58 PM
Post #3

New D.I.C Head
*

Joined: 5 Oct, 2008
Posts: 49


My Contributions
QUOTE(CTphpnwb @ 30 Jun, 2009 - 02:13 PM) *

Are you receiving any errors? Does this code not work that way you intended it? When asking for help there are a couple items that are vital in order for someone to properly help you:
  • Post the code you're having problems with
  • Post the exact error you're receiving, if you are receiving one
  • If no error explain what the code is doing versus what you want it to do
  • Post your question in the body of your post, not the description field


no im not getting any errors with the upload script. i am unsure how to go about createing the download/display script. i have one that is used to create like an image gallery but that is not exactly what i want. and yes i know im supposed to post my code i have actually posted it in a different thread here and since changed the code i used. if you want i can post here but it works exactly they way i want.

what im not to sure about is. if i just insert the new location in the database for the user's images. how do i request them to be display/downloaded once i have the location in the database? i dont expect you to give me code i just need an idea of how to go about it.

i saw somewhere on here that someone was going to do a tutorial on how to do this but i didnt find the tutorial.

This post has been edited by NeekWorld: 30 Jun, 2009 - 03:00 PM
User is offlineProfile CardPM
+Quote Post

RPGonzo

RE: Display Images

30 Jun, 2009 - 03:47 PM
Post #4

// Note to self: hmphh .... I forgot
Group Icon

Joined: 16 Mar, 2009
Posts: 743



Thanked: 89 times
Dream Kudos: 25
My Contributions
If your storing the location of the image in the DB than just pull it when needed and wrap it in a img tag ...
User is offlineProfile CardPM
+Quote Post

NeekWorld

RE: Display Images

30 Jun, 2009 - 03:57 PM
Post #5

New D.I.C Head
*

Joined: 5 Oct, 2008
Posts: 49


My Contributions
QUOTE(RPGonzo @ 30 Jun, 2009 - 03:47 PM) *

If your storing the location of the image in the DB than just pull it when needed and wrap it in a img tag ...


ok that makes sense but what if i dont know the total number of images to be displayed?
and i have another question. ive been playing with it. it is still uploading the images fine to the file. but the sql statement is not actually inserting the file location or the info i set it to enter into the database. im not getting an error on it. its just not inserting it into the database.

here is the code im using for the insert

CODE
if ($sizeOK && $typeOK){
        switch($_FILES['image']['error']) {
            case 0:
                // $username would normally come from a session variable
                $username = $_SESSION['login'];
                // if the subfolder doesn't exist yet, create it
                if (!is_dir(UPLOAD_DIR.$username)) {
                    mkdir(UPLOAD_DIR.$username);
                }
                // make sure file of same name does not already exist
                if (!file_exists(UPLOAD_DIR.$username.'/'.$file)) {
                    // get the date and time
                    ini_set('date.timezone', 'Europe/London');
                    $now = date('Y-m-d-His');
                    // move the file to the upload folder and rename it
                    $success = move_uploaded_file($_FILES['image']['tmp_name'], UPLOAD_DIR.$username.'/'.$now.$file);
                    
                    mysql_select_db($database, $conn);

                    //sql query to insert file name into database
                    $sql2 = "SELECT userName FROM users WHERE userName='$username'";  
                     $result = mysql_query($sql2, $conn) or die(mysql_error());  
                     $num = mysql_num_rows($result);
                    
                    if ($num > 0)  // user id found      
                    {
                        $sql = "INSERT INTO images (image_id, userName, filename)
                                VALUES ('', '$username', '$success')";  
                    }
                    else if ($num == 0)  // user id was not found          
                     {
                        $message = "The User ID, '$_POST[login]' doesnt exist. <br>";
                        $_SESSION['$message'] = $message;
                    }
  
                }
                else {
                    // get the date and time
                    ini_set('date.timezone', 'Europe/London');
                    $now = date('Y-m-d-His');
                    $success = move_uploaded_file($_FILES['image']['tmp_name'], UPLOAD_DIR.$username.'/'.$now.$file);
                    
                    mysql_select_db($database, $conn);

                    //sql query to insert file name into database
                    $sql2 = "SELECT userName FROM users WHERE userName='$username'";  
                     $result = mysql_query($sql2, $conn) or die(mysql_error());  
                     $num = mysql_num_rows($result);
                    
                    if ($num > 0)  // user id found      
                    {
                        $sql = "INSERT INTO images (image_id, userName, filename)
                                VALUES ('', '$username', '$success')";  
                    }
                    else if ($num == 0)  // user id was not found          
                     {
                        $message = "The User ID, '$_POST[login]' doesnt exist. <br>";
                        $_SESSION['$message'] = $message;
                    }
                }
                if ($success) {
                    $result = "$file uploaded successfully";
                }
                else {
                    $result = "Error uploading $file. Please try again.";
                }
            break;


This post has been edited by NeekWorld: 30 Jun, 2009 - 03:58 PM
User is offlineProfile CardPM
+Quote Post

RPGonzo

RE: Display Images

30 Jun, 2009 - 05:46 PM
Post #6

// Note to self: hmphh .... I forgot
Group Icon

Joined: 16 Mar, 2009
Posts: 743



Thanked: 89 times
Dream Kudos: 25
My Contributions
CODE

VALUES ('', '$username', '$success')


If your image_id column is set to auto increment than you really don't even need to try and set a empty value ... it will do it on its own ..

If i remember right move_uploaded_file will only return a boolean result or nothing at all ... so inserting $success wont insert what you need ... you need to insert the $username.'/'.$now.$file which will hold the exact directory and file name to recall the file later ...

To only show as many images as the user has uploaded is not a problem ... use a while statement with a SELECT query that ONLY grabs images tagged with the username of your choice

CODE

$query = "SELECT filename FROM images WHERE userName='John Doe'";
$result = mysql_query($query);

while ($val = mysql_fetch_array($result)) {
   // do work with images ...
   // list($width,$height) = getimagesize($val['filename']);
   // echo '<img src="'. $val['filename'] .'" height="'. $height .'" width="'. $width .'"/>';
}


The while loop will only run as long as their are results still being pulled ... in other words until all the images that were successfully inserted into the database are already present ...

hope that helps ...

This post has been edited by RPGonzo: 30 Jun, 2009 - 05:49 PM
User is offlineProfile CardPM
+Quote Post

korin43

RE: Display Images

30 Jun, 2009 - 05:47 PM
Post #7

New D.I.C Head
*

Joined: 30 Jun, 2009
Posts: 4

You're inserting "true" instead of the file name:
CODE
$sql = "INSERT INTO images (image_id, userName, filename)
                                VALUES ('', '$username', '$success')";  


Should be:
CODE
$image_location = UPLOAD_DIR.$username.'/'.$now.$file;
$sql = "INSERT INTO images (image_id, userName, filename)
                                VALUES ('', '$username', '$image_location')";


After that you can pull it out of the database with something like (assuming $username is set):
CODE

$sql = "SELECT filename FROM images WHERE userName='$username'";
$query = mysql_query($sql);
while($image = mysql_fetch_assoc($query)){
  if(is_file($image['filename'])){
    echo "<img src=\"{$image['filename']}\" />";
  }
}


This post has been edited by korin43: 30 Jun, 2009 - 05:50 PM
User is offlineProfile CardPM
+Quote Post

RPGonzo

RE: Display Images

30 Jun, 2009 - 05:58 PM
Post #8

// Note to self: hmphh .... I forgot
Group Icon

Joined: 16 Mar, 2009
Posts: 743



Thanked: 89 times
Dream Kudos: 25
My Contributions
As a note ... if(is_file($image['filename'])){ would be a good idea on the page the public sees BUT if this is for the admins to see .. it would be a good idea not to use it simply to be able to see broken image links and either fix them or remove them ...
User is offlineProfile CardPM
+Quote Post

NeekWorld

RE: Display Images

30 Jun, 2009 - 09:13 PM
Post #9

New D.I.C Head
*

Joined: 5 Oct, 2008
Posts: 49


My Contributions
QUOTE(RPGonzo @ 30 Jun, 2009 - 05:46 PM) *

CODE

VALUES ('', '$username', '$success')


If your image_id column is set to auto increment than you really don't even need to try and set a empty value ... it will do it on its own ..

If i remember right move_uploaded_file will only return a boolean result or nothing at all ... so inserting $success wont insert what you need ... you need to insert the $username.'/'.$now.$file which will hold the exact directory and file name to recall the file later ...

To only show as many images as the user has uploaded is not a problem ... use a while statement with a SELECT query that ONLY grabs images tagged with the username of your choice

CODE

$query = "SELECT filename FROM images WHERE userName='John Doe'";
$result = mysql_query($query);

while ($val = mysql_fetch_array($result)) {
   // do work with images ...
   // list($width,$height) = getimagesize($val['filename']);
   // echo '<img src="'. $val['filename'] .'" height="'. $height .'" width="'. $width .'"/>';
}


The while loop will only run as long as their are results still being pulled ... in other words until all the images that were successfully inserted into the database are already present ...

hope that helps ...


ok i was thinking that i inserted the incorrect one. was going to do the

CODE
$_FILES['image']['tmp_name'], UPLOAD_DIR.$username.'/'.$now.$file

part instead of the $success in there, but shouldnt it still have at least put in the userName and id number?

QUOTE(RPGonzo @ 30 Jun, 2009 - 05:58 PM) *

As a note ... if(is_file($image['filename'])){ would be a good idea on the page the public sees BUT if this is for the admins to see .. it would be a good idea not to use it simply to be able to see broken image links and either fix them or remove them ...


well i have restricted access to portions of the page. so half of the page is visible to users and half is only for admin access. i didnt post all the code what im having a problem with is displaying the images for the admin side and saving the location of the uploaded images from the user

This post has been edited by NeekWorld: 30 Jun, 2009 - 09:15 PM
User is offlineProfile CardPM
+Quote Post

korin43

RE: Display Images

30 Jun, 2009 - 09:31 PM
Post #10

New D.I.C Head
*

Joined: 30 Jun, 2009
Posts: 4

So you're not getting any errors but you don't have anything in your database? Have you checked in phpmyadmin or something?
User is offlineProfile CardPM
+Quote Post

NeekWorld

RE: Display Images

30 Jun, 2009 - 09:35 PM
Post #11

New D.I.C Head
*

Joined: 5 Oct, 2008
Posts: 49


My Contributions
QUOTE(korin43 @ 30 Jun, 2009 - 09:31 PM) *

So you're not getting any errors but you don't have anything in your database? Have you checked in phpmyadmin or something?


yes i checked phpMyAdmin everytime i tried to insert something, and i checked the folder i have the images sent to. the images are in the folder but the database still shows nothing. the only records in the images table are the ones i inserted manually. and i get no error message when i execute the script either from the php or the sql statement. so am puzzled at to why it is not inserting at least something into the database.
User is offlineProfile CardPM
+Quote Post

noorahmad

RE: Display Images

30 Jun, 2009 - 10:16 PM
Post #12

Webmaster
Group Icon

Joined: 12 Mar, 2009
Posts: 2,018



Thanked: 125 times
Dream Kudos: 1350
My Contributions
You are only Assigning Your Query to a variable, Not Executing it.
look here
php

$sql = "INSERT INTO images (image_id, userName, filename)
VALUES ('', '$username', '$success')";
//Here You Muse mysql_query function to Execute the Query


Try this code.
php

<?php
($sizeOK && $typeOK){
switch($_FILES['image']['error']) {
case 0:
// $username would normally come from a session variable
$username = $_SESSION['login'];
// if the subfolder doesn't exist yet, create it
if (!is_dir(UPLOAD_DIR.$username)) {
mkdir(UPLOAD_DIR.$username);
}
// make sure file of same name does not already exist
if (!file_exists(UPLOAD_DIR.$username.'/'.$file)) {
// get the date and time
ini_set('date.timezone', 'Europe/London');
$now = date('Y-m-d-His');
// move the file to the upload folder and rename it
$success = move_uploaded_file($_FILES['image']['tmp_name'], UPLOAD_DIR.$username.'/'.$now.$file);

mysql_select_db($database, $conn);

//sql query to insert file name into database
$sql2 = "SELECT userName FROM users WHERE userName='$username'";
$result = mysql_query($sql2, $conn) or die(mysql_error());
$num = mysql_num_rows($result);

if ($num > 0) // user id found
{
$sql = "INSERT INTO images (image_id, userName, filename)
VALUES (NULL, '$username', '$success')";
}
else if ($num == 0) // user id was not found
{
$message = "The User ID, '$_POST[login]' doesnt exist. <br>";
$_SESSION['$message'] = $message;
}

}
else {
// get the date and time
ini_set('date.timezone', 'Europe/London');
$now = date('Y-m-d-His');
$success = move_uploaded_file($_FILES['image']['tmp_name'], UPLOAD_DIR.$username.'/'.$now.$file);

mysql_select_db($database, $conn);

//sql query to insert file name into database
$sql2 = "SELECT userName FROM users WHERE userName='$username'";
$result = mysql_query($sql2, $conn) or die(mysql_error());
$num = mysql_num_rows($result);

if ($num > 0) // user id found
{
$sql = "INSERT INTO images (image_id, userName, filename)
VALUES (NULL, '$username', '$success')";
mysql_query($sql)or die(mysql_error());
}
else if ($num == 0) // user id was not found
{
$message = "The User ID, '$_POST[login]' doesnt exist. <br>";
$_SESSION['$message'] = $message;
}
}
if ($success) {
$result = "$file uploaded successfully";
}
else {
$result = "Error uploading $file. Please try again.";
}
break
?>


Hope it Help You smile.gif

This post has been edited by noorahmad: 30 Jun, 2009 - 10:18 PM
User is online!Profile CardPM
+Quote Post

NeekWorld

RE: Display Images

1 Jul, 2009 - 11:27 AM
Post #13

New D.I.C Head
*

Joined: 5 Oct, 2008
Posts: 49


My Contributions
QUOTE(noorahmad @ 30 Jun, 2009 - 10:16 PM) *

You are only Assigning Your Query to a variable, Not Executing it.
look here
php

$sql = "INSERT INTO images (image_id, userName, filename)
VALUES ('', '$username', '$success')";
//Here You Muse mysql_query function to Execute the Query


Try this code.
php

<?php
($sizeOK && $typeOK){
switch($_FILES['image']['error']) {
case 0:
// $username would normally come from a session variable
$username = $_SESSION['login'];
// if the subfolder doesn't exist yet, create it
if (!is_dir(UPLOAD_DIR.$username)) {
mkdir(UPLOAD_DIR.$username);
}
// make sure file of same name does not already exist
if (!file_exists(UPLOAD_DIR.$username.'/'.$file)) {
// get the date and time
ini_set('date.timezone', 'Europe/London');
$now = date('Y-m-d-His');
// move the file to the upload folder and rename it
$success = move_uploaded_file($_FILES['image']['tmp_name'], UPLOAD_DIR.$username.'/'.$now.$file);

mysql_select_db($database, $conn);

//sql query to insert file name into database
$sql2 = "SELECT userName FROM users WHERE userName='$username'";
$result = mysql_query($sql2, $conn) or die(mysql_error());
$num = mysql_num_rows($result);

if ($num > 0) // user id found
{
$sql = "INSERT INTO images (image_id, userName, filename)
VALUES (NULL, '$username', '$success')";
}
else if ($num == 0) // user id was not found
{
$message = "The User ID, '$_POST[login]' doesnt exist. <br>";
$_SESSION['$message'] = $message;
}

}
else {
// get the date and time
ini_set('date.timezone', 'Europe/London');
$now = date('Y-m-d-His');
$success = move_uploaded_file($_FILES['image']['tmp_name'], UPLOAD_DIR.$username.'/'.$now.$file);

mysql_select_db($database, $conn);

//sql query to insert file name into database
$sql2 = "SELECT userName FROM users WHERE userName='$username'";
$result = mysql_query($sql2, $conn) or die(mysql_error());
$num = mysql_num_rows($result);

if ($num > 0) // user id found
{
$sql = "INSERT INTO images (image_id, userName, filename)
VALUES (NULL, '$username', '$success')";
mysql_query($sql)or die(mysql_error());
}
else if ($num == 0) // user id was not found
{
$message = "The User ID, '$_POST[login]' doesnt exist. <br>";
$_SESSION['$message'] = $message;
}
}
if ($success) {
$result = "$file uploaded successfully";
}
else {
$result = "Error uploading $file. Please try again.";
}
break
?>


Hope it Help You smile.gif


i actually have that line in the one i was playing with after i posted the code

this is what i have now and it still doesnt execute the query

CODE
mysql_select_db($database, $conn);

                    //sql query to insert file name into database
                    $sql2 = "SELECT userName FROM users WHERE userName='$username'";  
                     $result = mysql_query($sql2, $conn) or die(mysql_error());  
                     $num = mysql_num_rows($result);

if ($num > 0)  // user id found      
                    {
                        $sql = "INSERT INTO images (filename, userName)
                                VALUES ('UPLOAD_DIR.$username.'/'.$now.$file', '$username')";
                         $result = mysql_query($sql, $conn) or die("Can't execute insert query.");  
  
                    }
                    else if ($num == 0)  // user id was not found          
                     {
                        $message = "The User ID, '$_POST[login]' doesnt exist. <br>";
                        $_SESSION['$message'] = $message;
                    }

User is offlineProfile CardPM
+Quote Post

NeekWorld

RE: Display Images

1 Jul, 2009 - 12:59 PM
Post #14

New D.I.C Head
*

Joined: 5 Oct, 2008
Posts: 49


My Contributions
ok so i fixed that problem. i forgot to execute on both sections. but now im not getting the images to show up this is the section i have for the code. i used a dynamic table to insert the info so it will load what ever is in the record set. but all it gives me is either blank or the file location. any thoughts?

CODE
<table border="1">
      <?php do { ?>
        <tr>
          <td>file name</td>
          <td><?php echo '<img src="'. $row_Recordset2['filename'].'"/>'; ?></td>
        </tr>
        <tr>
          <td>User Name</td>
          <td><?php echo $row_Recordset2['userName']; ?></td>
        </tr>

        <?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>
    </table>


this line gives me a blank space in the table
CODE
<?php echo '<img src="'. $row_Recordset2['filename'].'"/>'; ?>


but if i change it to
CODE
<?php echo  $row_Recordset2['filename']; ?>

if will give me the file location
User is offlineProfile CardPM
+Quote Post

peter yianni

RE: Display Images

1 Jul, 2009 - 01:14 PM
Post #15

D.I.C Regular
***

Joined: 4 Jun, 2009
Posts: 308



Thanked: 2 times
My Contributions
QUOTE(NeekWorld @ 1 Jul, 2009 - 12:59 PM) *

ok so i fixed that problem. i forgot to execute on both sections. but now im not getting the images to show up this is the section i have for the code. i used a dynamic table to insert the info so it will load what ever is in the record set. but all it gives me is either blank or the file location. any thoughts?

CODE
<table border="1">
      <?php do { ?>
        <tr>
          <td>file name</td>
          <td><?php echo '<img src="'. $row_Recordset2['filename'].'"/>'; ?></td>
        </tr>
        <tr>
          <td>User Name</td>
          <td><?php echo $row_Recordset2['userName']; ?></td>
        </tr>

        <?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>
    </table>


this line gives me a blank space in the table
CODE
<?php echo '<img src="'. $row_Recordset2['filename'].'"/>'; ?>


but if i change it to
CODE
<?php echo  $row_Recordset2['filename']; ?>

if will give me the file location



i was having the same problem this might help

<a href="../jocky_history.php?horse=<?php echo $row_jockyhistory['name_id']; ?>">

just change to your setings
User is offlineProfile CardPM
+Quote Post

NeekWorld

RE: Display Images

1 Jul, 2009 - 03:01 PM
Post #16

New D.I.C Head
*

Joined: 5 Oct, 2008
Posts: 49


My Contributions
QUOTE(peter yianni @ 1 Jul, 2009 - 01:14 PM) *


i was having the same problem this might help

<a href="../jocky_history.php?horse=<?php echo $row_jockyhistory['name_id']; ?>">

just change to your setings



i dont want a link i want the image to display
User is offlineProfile CardPM
+Quote Post

TTechGuy

RE: Display Images

1 Jul, 2009 - 03:18 PM
Post #17

D.I.C Head
**

Joined: 24 Apr, 2009
Posts: 57



Thanked: 3 times
My Contributions
I'm guessing an escaping issue with the quotes. Did you look at the generated html source where the space is? If so, what did it have there?
User is offlineProfile CardPM
+Quote Post

peter yianni

RE: Display Images

1 Jul, 2009 - 03:26 PM
Post #18

D.I.C Regular
***

Joined: 4 Jun, 2009
Posts: 308



Thanked: 2 times
My Contributions
QUOTE(NeekWorld @ 1 Jul, 2009 - 03:01 PM) *

QUOTE(peter yianni @ 1 Jul, 2009 - 01:14 PM) *


i was having the same problem this might help

<a href="../jocky_history.php?horse=<?php echo $row_jockyhistory['name_id']; ?>">

just change to your setings



i dont want a link i want the image to display


ok like i said it might help
i kept coming up with the pic num instead of the pic
just using the echo but got some help on here and got it sorted with the rest of the code from noormad
User is offlineProfile CardPM
+Quote Post

CTphpnwb

RE: Display Images

1 Jul, 2009 - 04:08 PM
Post #19

D.I.C Lover
Group Icon

Joined: 8 Aug, 2008
Posts: 2,065



Thanked: 151 times
Dream Kudos: 100
Expert In: PHP

My Contributions
QUOTE(NeekWorld @ 1 Jul, 2009 - 07:01 PM) *

i dont want a link i want the image to display

So then your question has more to do with html than php:

<a href="/path">something</a>

versus:
<img src="/path" />

User is offlineProfile CardPM
+Quote Post

NeekWorld

RE: Display Images

1 Jul, 2009 - 04:14 PM
Post #20

New D.I.C Head
*

Joined: 5 Oct, 2008
Posts: 49


My Contributions
QUOTE(TTechGuy @ 1 Jul, 2009 - 03:18 PM) *

I'm guessing an escaping issue with the quotes. Did you look at the generated html source where the space is? If so, what did it have there?


thats true. i did check the source code and it looks like its supposed to.

CODE
<img src="C:/wamp/www/Site/upload_test/userName/imagename" />


the above code is not the variable i just hard coded it into the table but it is still not displaying.

i have a banner that is hard coded in the site as well and it looks just like the above one aside from the file location.

This post has been edited by NeekWorld: 1 Jul, 2009 - 04:16 PM
User is offlineProfile CardPM
+Quote Post

2 Pages V  1 2 >
Fast ReplyReply to this topicStart new topic

Time is now: 11/7/09 11:17PM

Live PHP Help!

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter Fan Us On Facebook

PHP Tutorials

Reference Sheets

PHP Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month