Jump to content

Something super fishy is going on


Wintergreen

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?
Link to comment
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
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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