Have an account? Sign in
Login  Register  Facebook
Run different code if a field is blank
Hello there!
I need some help on a script. I have a form with that edits a row in the database, a form that have a browse button for images. What i need is to run a code if the field LajmeImg is not blank and anothe code if is blank.

I have used this 2 ways:

1.
if(empty($_FILES['LajmeImg']) && ($error == '')) {

            $sql = "UPDATE lajme SET KatLajmeID = '$KatLajmeID', LajmeEmri = '$LajmeEmri', LajmeLink = '$LajmeLink', LajmeIntro = '$LajmeIntro', LajmeTxt = '$LajmeTxt', LajmeVideo = '$LajmeVideo', LajmeTag = '$LajmeTag', LajmeAktiv = '$LajmeAktiv' WHERE LajmeID = '$LajmeID'";

            $query = mysql_query($sql) or die("Fatal error: ".mysql_error());

            }

            else if (!empty($_FILES['LajmeImg']) && ($error == '')) {

            $sql = "UPDATE lajme SET KatLajmeID = '$KatLajmeID', LajmeEmri = '$LajmeEmri', LajmeLink = '$LajmeLink', LajmeIntro = '$LajmeIntro', LajmeTxt = '$LajmeTxt', LajmeVideo = '$LajmeVideo', LajmeTag = '$LajmeTag', LajmeImg = '$LajmeImg', LajmeAktiv = '$LajmeAktiv' WHERE LajmeID = '$LajmeID'";

            $query = mysql_query($sql) or die("Fatal error: ".mysql_error());
2.
if(($LajmeImg == '') && ($error == '')) {

        

            $sql = "UPDATE lajme SET KatLajmeID = '$KatLajmeID', LajmeEmri = '$LajmeEmri', LajmeLink = '$LajmeLink', LajmeIntro = '$LajmeIntro', LajmeTxt = '$LajmeTxt', LajmeVideo = '$LajmeVideo', LajmeTag = '$LajmeTag', LajmeAktiv = '$LajmeAktiv' WHERE LajmeID = '$LajmeID'";

            $query = mysql_query($sql) or die("Fatal error: ".mysql_error());

            }

            else if (($LajmeImg !== '') && ($error == '')) {

            $sql = "UPDATE lajme SET KatLajmeID = '$KatLajmeID', LajmeEmri = '$LajmeEmri', LajmeLink = '$LajmeLink', LajmeIntro = '$LajmeIntro', LajmeTxt = '$LajmeTxt', LajmeVideo = '$LajmeVideo', LajmeTag = '$LajmeTag', LajmeImg = '$LajmeImg', LajmeAktiv = '$LajmeAktiv' WHERE LajmeID = '$LajmeID'";

            $query = mysql_query($sql) or die("Fatal error: ".mysql_error());
but, in both of them, when the field is empty didn't let the "LajmeImg" DB field out of the query but updates the database with a value that i don;t know where it gets that and have only the name of the image existent on the DB without extension (ex: if the existent image name is [B]imagename.jpg[/B] now it looks like [B]imagename.[/B]). I supose that this mean that "if" statement didn;t worked correctly. This is the hole code of the edit page:
<?php
include('header.php');
include ('includes/uploader.class.php');
      
    // Uploader strings starts
   
    $uploader = new uploader();
    // Setting properties then Uploading the image
    $uploader->destDir = "D:/Program Files/VertrigoServ/www/oldi/imazhet/artikuj/";
    $uploader->upload($_FILES['LajmeImg']);
   
    // Uploader strings end
   
include('lart.php');
if(!$_GET['lajmeid'] && !isset($_POST['do_edit']) && !isset($_POST['edit_lajme'])) {

echo $error;

// Shfaq listen e lajmeve
lajmet_lista();

}



// Has the edit form been submitted?

if(isset($_POST['do_edit'])) {
   
    $LajmeID = $_POST['LajmeID'];
    $LajmeEmri = $_POST['LajmeEmri'];
    $KatLajmeID = $_POST['KatLajmeID']; // Kategoria Lajmeve
    $LajmeIntro = $_POST['LajmeIntro'];
    $LajmeTxt = $_POST['LajmeTxt'];
    $LajmeAktiv = $_POST['LajmeAktiv'];
    $LajmeTag = $_POST['LajmeTag'];
    $LajmeVideo = $_POST['LajmeVideo'];
    $LajmeLink = $_POST['LajmeLink'];
    //$LajmeImg = $_FILES['LajmeImg']['name']; // Me autoName = False; regjistron ne db emrin real te fotografise
    $LajmeImg = $uploader->source['name']; // Me autoName = true; regjistron ne db emrin random te fotografise i gjeneruar ne base64

   
    $fshij = $_POST['fshij'];

   
    // Ticked the 'delete category' box? If so, delete and echo message.   
    if($fshij == 'fshij_LajmeID' && $error == '') {
       
    $sql =  "DELETE FROM lajme WHERE  LajmeID=$LajmeID LIMIT 1";
    $query = mysql_query($sql) or die("Fatal error: ".mysql_error());

    echo "<h3>U Fshi</h3>";
    echo "<div class='success_message'>Lajme <b>$LajmeID</b> u fshi nga sistemi.</div>";
   
    echo "<h2>What to do now?</h2><br />";
    echo "Go to the <a href='lajme_edit.php'>edit lajme</a> page.</li>";
       
    } else {
   
    // Validate the submitted information
   
        if(trim($LajmeID) == '0') {
            $error = '<div class="error_message">LajmeID - Attention! You cannot edit the main Administrator, use database.</div>';
        } else if(trim($LajmeEmri) == '') {
            $error = '<div class="error_message">LajmeEmri - Attention! You must enter a first name.</div>';
        } else if(trim($LajmeLink) == '') {
            $error = '<div class="error_message">LajmeUrl - Attention! You must enter a last name.</div>';
        }
       
    // Password been entered? If so, validate and update information.
   
        if(trim($KatLajmeID) == '') {
        $error = '<div class="error_message">Attention! Nuk ke zgjedhur kategorine.</div>';
    } else if(trim($LajmeIntro) == '') {
        $error = '<div class="error_message">Attention! Nuk ke vene Intro.</div>';
    } else if(trim($LajmeEmri) == '') {
        $error = '<div class="error_message">Attention! Nuk ke vene emrin.</div>';
    }
           
            if($error == '') {
       
            $sql = "UPDATE lajme SET KatLajmeID = '$KatLajmeID', LajmeEmri = '$LajmeEmri', LajmeLink = '$LajmeLink', LajmeIntro = '$LajmeIntro', LajmeTxt = '$LajmeTxt', LajmeVideo = '$LajmeVideo', LajmeTag = '$LajmeTag', LajmeImg = '$LajmeImg', LajmeAktiv = '$LajmeAktiv' WHERE LajmeID = '$LajmeID'";
            $query = mysql_query($sql) or die("Fatal error: ".mysql_error());
            // $sql2 = "SELECT * FROM lajme_kategori WHERE LKatAktiv = PO";
            //$sql2 = "SELECT B.LKatEmri, A.LajmeID AS LajmeID, A.LajmeEmri AS LajmeEmri, A.LajmeLink AS LajmeLink, A.LajmeIntro AS LajmeIntro, A.LajmeTxt AS LajmeTxt, A.LajmeTag AS LajmeTag,  A.LajmeVideo AS LajmeVideo, A.LajmeAktiv AS LajmeAktiv, B.LKatAktiv = LKatAktiv FROM lajme A LEFT JOIN lajme_kategori B ON A.KatLajmeID = B.LKatID WHERE B.LKatID = KatLajmeID AND LKatAktiv = PO AND LajmeAktiv = PO ";
            //$sql2 = "SELECT * FROM lajme_Kategori WHERE LKatID = '$KatLajmeID'";
            //$result2 = mysql_query($sql2);
       
            echo "<h2>U Modifikua</h2>";
            echo "<div class='success_message'>Lajmi u modifikua: <a href='lajme_edit.php?lajmeid=$LajmeID'><b>$LajmeEmri</b></a> me ID <b>$LajmeID </b>.</div><br>";
            echo $sql;
           
           
            echo "<h2>C'deshironi te beni tani?</h2><br />";
            echo "Vizitoni <a href='lajme_edit.php'>listen e lajmeve</a>.</li>";
           
            }
   
   
        }
       
    }


// Has a article been selected to edit?

if($_GET['lajmeid'] && !isset($_POST['do_edit']) && !isset($_POST['edit_lajme']) || $error != '') {

    $LajmeID = $_GET['lajmeid'];
   
    $sql = "SELECT B.LKatEmri, A.LajmeID AS LajmeID, A.LajmeEmri AS LajmeEmri, A.LajmeLink AS LajmeLink, A.LajmeIntro AS LajmeIntro, A.LajmeTxt AS LajmeTxt, A.LajmeTag AS LajmeTag, A.LajmeImg AS LajmeImg, A.LajmeVideo AS LajmeVideo, A.LajmeAktiv AS LajmeAktiv, A.KatLajmeID AS KatLajmeID FROM lajme A LEFT JOIN lajme_kategori B ON A.KatLajmeID = B.LKatID WHERE B.LKatID = KatLajmeID AND A.LajmeID='$LajmeID'";
    $result = mysql_query($sql);
   
    $row = mysql_fetch_array($result);
   
    $LajmeEmri = $row['LajmeEmri'];
    $LajmeLink = $row['LajmeLink'];
    $LajmeIntro = $row['LajmeIntro'];
    $LajmeTxt = $row['LajmeTxt'];
    $LajmeVideo = $row['LajmeVideo'];
    $LajmeTag = $row['LajmeTag'];
    $LajmeImg = $row['LajmeImg'];
    $LajmeAktiv = $row['LajmeAktiv'];
    $KatLajmeID = $row['KatLajmeID'];
    $LKatEmri = $row['LKatEmri'];
   
       
    echo $error;
           
    echo "<h2>Informacionet per lajmin ( ".stripslashes($row['LajmeEmri'])." )</h2>";
       
?>

<form action="" method="post" enctype="multipart/form-data" />
<input type="hidden" name="LajmeID" value="<?=$row['LajmeID'];?>" />

<hr /><label>Kategoria</label>
<select name="KatLajmeID">
<option selected value="<?=stripslashes($row['KatLajmeID']);?>"><?=$LKatEmri ?></option> <?php // Marrja e te dhenave ekzistente ?>
<?php
$sql2 = "SELECT * FROM lajme_kategori WHERE LKatAktiv = 'PO'"; // Query per te marre kategorite nga database
            $result2 = mysql_query($sql2);
?>
<?
while($kategoria = mysql_fetch_array($result2)) {
    echo '<option value="'.stripslashes($kategoria['LKatID']).'">'.stripslashes($kategoria['LKatEmri']).'</option>'; // Lista e kategorive
}
?>
</select>

<hr /><label>Titulli</label>
<input type="text" name="LajmeEmri" value="<?=stripslashes($row['LajmeEmri']);?>" class="lf" /><br />

<hr /><label>Linku</label>
<input type="text" name="LajmeLink" value="<?=stripslashes($row['LajmeLink']);?>" class="lf" /><br />



<hr /><label>Intro</label><textarea id="LajmeIntro" name="LajmeIntro" /><?=stripslashes($row['LajmeIntro']);?>
Started: September 21, 2011 Latest Activity: September 21, 2011 ifstatement differentcode
2 Answers
In 1
if(empty($_FILES['LajmeImg']) && ($error == ''))
brackets are missing, it should be
if( ( empty($_FILES['LajmeImg']) ) && ($error == '') )
In 2
else if (($LajmeImg !== '') && ($error == '')) Is wrong , check not equal to
It should be
else if (($LajmeImg != '') && ($error == '')) 

Refer:php operators

Posted: DesignShop
In: September 21, 2011

i think the general idea is
if ($_FILES) {
    if (!empty($_FILES[\'LajmeImg\'][\'tmp_name\'])) {
        //your upload coding here
        $file_name = $_FILES[\'LajmeImg\'][\'name\'];
    }
}
now to update if the $file_name exist
if(isset($file_name)){
    //update here
}

Posted: Go
In: September 21, 2011

Thank you very very very very much ;) It works with some small modifications but your idea resolved my problem. Thank you again ;)!
September 21, 2011

most wellcome ;)
September 21, 2011

Your Answer

xDo you want to answer this question? Please login or create an account to post your answer