Jump to content

$errmsg not Working!


Valentinez

Recommended Posts

Ok, this error code isn't working.

 

It's supposed to post an error message if the file size is too big.

 

if ($_REQUEST[completed] == 1) {
        // Need to add - check for large upload. Otherwise the code
        // will just duplicate old file ;-)
        // ALSO - note that latest.img must be public write and in a
        // live appliaction should be in another (safe!) directory.
        move_uploaded_file($_FILES['imagefile']['tmp_name'],"latest.img");
        $instr = fopen("latest.img","rb");
        $image = addslashes(fread($instr,filesize("latest.img")));

        if (strlen($instr) < 149000) {
                mysql_query ("insert into pix (title, imgdata) values (\"".
                $_REQUEST[whatsit].
                "\", \"".
                $image.
                "\")");
        } else {
                $errmsg = "Too large!";
        }
}

Link to comment
https://forums.phpfreaks.com/topic/188227-errmsg-not-working/
Share on other sites

if (strlen($instr) < 149000) {

to

if (filesize($myfile) < 149000) {

Where $myfile is the path to your file ("latest.img")

 

$instr is just a handle / pointer to your file, you are probably getting 0 returned from that strlen function

 

Also you can use $_FILES['imagefile']['size'] even before you do a file move

Link to comment
https://forums.phpfreaks.com/topic/188227-errmsg-not-working/#findComment-993745
Share on other sites

Well, I kinda don't get that part, see this isn't my code, but I couldn't figure out how to fix it. Where I got the code they made no mention or other download for this 'latest.img' so I have no idea what that file is for, or where it should be. Here's my complete code, with some things changed for security reasons.

 

<?php

// Connect to database

$errmsg = "";
if (! @mysql_connect("host","login","pass")) {
        $errmsg = "Cannot connect to database";
        }
@mysql_select_db("database");

// First run ONLY - need to create table by uncommenting this
// Or with silent @ we can let it fail every sunsequent time ;-)

/*
$q = < < <CREATE
create table pix (
    pid int primary key not null auto_increment,
    title text,
    imgdata longblob)
CREATE;
*/
@mysql_query($q);


// Insert any new image into database


if ($_REQUEST[completed] == 1) {
        // Need to add - check for large upload. Otherwise the code
        // will just duplicate old file ;-)
        // ALSO - note that latest.img must be public write and in a
        // live appliaction should be in another (safe!) directory.
        move_uploaded_file($_FILES['imagefile']['tmp_name'],"latest.img");
        $instr = fopen("latest.img","rb");
        $image = addslashes(fread($instr,filesize("latest.img")));

        if (strlen($instr) < 149000) {
                mysql_query ("insert into pix (title, imgdata) values (\"".
                $_REQUEST[whatsit].
                "\", \"".
                $image.
                "\")");
        } else {
                $errmsg = "Too large!";
        }
}

// Find out about latest image

$gotten = @mysql_query("select * from pix order by pid desc limit 1");
if ($row = @mysql_fetch_assoc($gotten)) {
        $title = htmlspecialchars($row[title]);
        $bytes = $row[imgdata];
} else {
        $errmsg = "There are no Members yet.";
        $title = "No database image available.";
}

// If this is the image request, send out the image

if ($_REQUEST[gim] == 1) {
        header("Content-type: image/jpeg");
        print $bytes;
        exit ();
        }
?>

<html><head>
<title>Cult Signup!</title>
<script type="text/javascript">
<!--//
function validateFileExtension(fld) {
if(!/(\.bmp|\.gif|\.jpg|\.jpeg)$/i.test(fld.value)) {
	alert("Invalid image file type.");
	fld.form.reset();
	fld.focus();
	return false;
}
return true;
}


function validate_required(field,alerttxt)
{
with (field)
  {
  if (value==null||value=="")
    {
    alert(alerttxt);return false;
    }
  else
    {
    return true;
    }
  }
}

function validate_form(thisform)
{
with (thisform)
  {
  if (validate_required(whatsit,"Must have a Name or Alias")==false)
  {whatsit.focus();return false;}
  }
}
//-->
</script>




</head>
<body bgcolor=white><center><h2>Here's the latest Member!</h2></center>
<font color=red><?= $errmsg ?></font>
<center><img src=?gim=1 width=144><br />
<b><?= $title ?></b></center>
<hr>
<h2>Please Upload Your Picture or Avatar, and your Name or Alias.</h2>
<form enctype="multipart/form-data" method="post" onsubmit="return (validateFileExtension(this.imagefile) && validate_form(this))">
<input type="hidden" name="MAX_FILE_SIZE" value="150000">
<input type="hidden" name="completed" value="1">
Please choose an image to upload: <input type="file" name="imagefile" onchange="return validateFileExtension(this)"><br />
Name or Alias: <input name="whatsit"><br />
<input type="submit"></form>

</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/188227-errmsg-not-working/#findComment-993778
Share on other sites

Archived

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

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