|
Posted by 4sak3n 0ne on 09/04/07 20:17
On Sep 4, 12:19 pm, Reggie <joelregisfo...@hotmail.com> wrote:
> Am getting this notice.any ideas:
>
> Notice: Undefined index: completed in /home/fhlinux169/c/
> clashoff.co.uk/user/htdocs/picture.php on line 17
>
> Notice: Undefined index: gim in /home/fhlinux169/c/clashoff.co.uk/user/
> htdocs/picture.php on line 52
>
> This is the script :
>
> <?php
>
> // Connect to database
>
> $errmsg = "";
> if (! @mysql_connect("","","")) {
> $errmsg = "Cannot connect to database";
> }
> @mysql_select_db("");
>
> // First run ONLY - need to create table by uncommenting this
> // Or with silent @ we can let it fail every sunsequent time ;-)
>
> // 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 is no image in the database yet";
> $title = "no database image available";
> // Put up a picture of our training centre
> $instr = fopen("../wellimg/ctco.jpg","rb");
> $bytes = fread($instr,filesize("../wellimg/ctco.jpg"));
>
> }
>
> // If this is the image request, send out the image
>
> if ($_REQUEST['gim'] == 1) {
> header("Content-type: image/jpeg");
> print $bytes;
> exit ();
> }
> ?>
if ($_REQUEST['completed'] == 1) { is the problem in this case. That
value isn't set, and the warning is telling you such. Use either
isset() or empty() to remedy this. I'm not sure if you are trying to
access a cookie, post, or get when you use $_REQUEST, but, I will
change that to $_POST. Its a good idea to be specific with such
information. If you aren't familiar with the superglobals, see
http://www.php.net/manual/en/language.variables.predefined.php.
if(isset($_POST['completed']) && $_POST['completed'] == 1){ would
correct that problem. It is a good idea to do this with any
potentially unset variables to avoid this warning in the future.
Navigation:
[Reply to this message]
|