Jump to content

Archived

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

Wintergreen

Something super fishy is going on

Recommended Posts

I have a page where I can post pictures, and in order to have them displayed, all you do is paste the URL, one per line and it will auto turn it into a link using the URL pasted, modifying it for the thumbnail and then putting it into a table. 

If I post more than one it seems that it posts extra blank pictures in between them, I have no idea what's going on.  It turns them into a checker pattern.  The <tr> is working correctly after each 7 passes, but for some reason it's putting blank pictures in between the real ones

The full code is:
[code]
<?php
session_start();

if( !empty($_POST['posttitle']) && !empty($_POST['bodytext']) && !empty($_SESSION['user_level'])) {
include 'db.php';
$posttitle = mysql_real_escape_string(strip_tags($_POST['posttitle']));
$post_body = mysql_real_escape_string(strip_tags($_POST['bodytext']));
$poster = $_SESSION['screenname'];
$posttype = $_POST['posttype'];
$post_time = date("Y-m-d H:i:s");

/* Formatting pics on pics page */
if(($posttype == 1) && ($_POST['pic_align'])) {
  if(!empty($_POST['number'])) {
      $number = $_POST['number'];
  } else {
      $number = 7;
  }
  $newlines = array("\n", "\r");
  $body_text = str_replace($newlines, "|", $_POST['bodytext']);
  $body_text = explode("|", $body_text);
  $counter = count($body_text);
  $new_row = 0;
  $post_body = "<table>";
  for($i = 0; $i < $counter; $i++){
      $temp = str_replace(".jpg", "s.jpg", $body_text[$i]); // Auto makes s img url
      $final_string = "<td><a href=$body_text[$i]><img src=$temp></a></td>"; // Completes each link with TD
      if($new_row == 0) $post_body .= "<tr>";
      $post_body .= $final_string;
      $new_row++;
      if($new_row == $number) {
        $post_body .= "</tr>";
        $new_row = 0;
      }
  }
  if($new_row != 0) $post_body .= "</tr>";
  $post_body .= "</table>";
}


//Enter info into the db
mysql_query("INSERT INTO posts (title, post_body, post_time, post_type, poster_name) VALUES('$posttitle','$post_body','$post_time','$posttype','$poster')") or die(mysql_error());
}
header("location: index.php");
exit();
?>
[/code]

Anyone have a clue what's going on?

Share this post


Link to post
Share on other sites
After playing around a bit I've found that for some reason there are elements in the array that are blank after each element that contains a real value, so if I set the for loop to do $i += 2 it seems to work correctly, however if anyone can point out why I'm getting blank array elements I'd be grateful

Share this post


Link to post
Share on other sites

×

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.