Jump to content

Wintergreen

Members
  • Posts

    107
  • Joined

  • Last visited

    Never

Posts posted by Wintergreen

  1. 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
  2. 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?
  3. But if you're grouping by points where != '-1' doesn't that mean it ignores the negatives? 

    My suggestion would be to remake your system a little and have it modify the points directly instead of always adding another row.  This way each user has their own row with their total score already calculated
  4. Use mysql_real_escape_string on the input and it should take care of it.

    If that makes it start printing extra slashes when you print the input from the DB later, use stripslashes() before you print it. 

    For example

    $string = mysql_real_escape_string($string);

    or when you print it, $string = stripslashes($string);
  5. Two things with your code, then.  What happens if there are more pics than just the first row?  Your TRs aren't in any sort of loop.

    The problem with your code is your if else statement in the loop.  You're incrementing the $numcol only in the IF part, but not in the ELSE part, which is what would give you problems. 

    [code]      while ($numcol < 5) {
              if($numpicsleft > 0) {
                echo "<td width=\"162\" bgcolor=\"#e6e6e6\" valign=\"top\"><p align=\"center\">";
                echo "<img border=\"0\" src=\"images/somepic.jpg\" width=\"150\" height=\"113\"><br>";
                echo "<span class=\"text1\"><b>some text</b><br>some text<br>some text<br></span>";
                echo "</p></td>";
                $numpicsleft--;
              } else {
                echo "<td width=\"162\"></td>";
              }
            $numcol++;
            }
    [/code]
×
×
  • 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.