MySQL值不显示在图片名称中

时间:2013-09-27 01:09:58

标签: javascript php

我有一个代码来上传图片。上传图片后,用户可以裁剪它。然后,使用$new_name调用图片。我唯一的问题是,在$new_name中,$_GET['MomentEvent']从未出现在图片名称中。但当我回应它时,它似乎正常。那么,我怎么能让它出现在$new_name呢?

有关信息,MomentEvent指的是每个新页面的唯一键。因此,当用户上传图片时,它只会在页面上显示带有好MomentEvent的图片。

编辑:看起来问题来自这一行:echo $new_name."?".time();,因为当我尝试回复$_GET['MomentEvent']时,没有任何事情发生。

编辑2:看起来这个问题来自if(isset($_GET['t']) and $_GET['t'] == "ajax"),导致最后一个回声,它在外面,所有工作,但内部回声,没有任何效果。但我仍然不知道出了什么问题......

<?php
include('db.php');
session_start();
     $session_id=$_SESSION['id']; // Or Session ID
         $actual_image_name = time().substr($txt, 5).".".$ext;
         $t_width = 450; // Maximum thumbnail width
         $t_height = 150; // Maximum thumbnail height
              $new_name = "$actual_image_name".$_GET['MomentEvent'].".jpg"; // Thumbnail image name
              $path = "images/";

         if(isset($_GET['t']) and $_GET['t'] == "ajax")
         {

         extract($_GET);
             $ratio = ($t_width/$w); 
             $nw = ceil($w * $ratio);
             $nh = ceil($h * $ratio);
             $nimg = imagecreatetruecolor($nw,$nh);
             $im_src = imagecreatefromjpeg($path.$img);
             imagecopyresampled($nimg,$im_src,0,0,$x1,$y1,$nw,$nh,$w,$h);
             imagejpeg($nimg,$path.$new_name,90);
         mysql_query("UPDATE users_event SET image_small='$new_name' WHERE MomentEvent='".$_GET['MomentEvent']."'");
         echo $new_name."?".time();
         exit;
         }
     echo $new_name;
 ?>

1 个答案:

答案 0 :(得分:0)

不要使用提取物。通常使用它是不好的做法,但尤其是在_get变量上...它会打开DOS攻击,在那里有人可以使用数百个不需要的变量来填充查询字符串。

http://php.net/manual/en/function.extract.php

只需单独引用关联数组项。