Avatar billede crabber Nybegynder
30. september 2006 - 11:22 Der er 1 løsning

Hjælp til php?

Jeg har her lavet en form som skal sætte noget ind i databasen og udskrive nogle echo beskeder, men jeg kan ikke få den til at gøre det jeg gerne vil have.

Meningen er at kan man ikke behører at skulle vælge et billede, men hvis man gør skal det være et jpg eller gif. Så den fejl besked der kommer frem nu når kan ikke vælger et billed skal ikke komme. Samtidig skal den heller ikke sætte noget ind i databasen hvis man vægler et ikke jpeg eller gif og det gør den nu.

Håber der er nogen som kan hjælpe mig med at rette de små fejl. Nu har jeg siddet med det længe.

KODEN:

<?php
session_start();
if(!isset($_SESSION['user_id']))
{
    header('location: index.php');
}
else
{

//Billed resize
function skaler_gif($img, $w, $h){

    $thumbnail = imagecreatetruecolor($w, $h);
    $billede = imagecreatefromgif($img);
   
    $billedstr = getimagesize($img);
   
    imagecopyresized($thumbnail, $billede, 0, 0, 0, 0, $w, $h, $billedstr[0], $billedstr[1]);
    imagegif($thumbnail, $img);
    //die("røv");
}//End function skaler_gif()


function skaler_jpg($img, $w, $h){

    $thumbnail = imagecreatetruecolor($w, $h);
    $billede = imagecreatefromjpeg($img);
   
    $billedstr = getimagesize($img);
   
    imagecopyresized($thumbnail, $billede, 0, 0, 0, 0, $w, $h, $billedstr[0], $billedstr[1]);
    imagejpeg($thumbnail, $img);
}//End function skaler_jpg()

if(isset($_POST['submit'])){


    //måler images størrelse
    for($i=0;$i<count($_FILES[billedfil][tmp_name]);$i++){
        $picttest = getimagesize($_FILES[billedfil][tmp_name][$i]);//Test om det er et billede
       
        $fejl= "";
        if($picttest[2]==2 or $picttest[2]==1){
        $br=200;
        $hi=50;
       
            if($picttest[0]>$picttest[1]){
                $x=$hi;
                $y=$br;
            }elseif($picttest[0]<$picttest[1]){
                $x=$hi;
                $y=$br;
            }elseif($picttest[0]==$picttest[1]){
                $x=$hi;
                $y=$br;
            }//End if-elseif
   
$mappe="../images/smaa_images/";
    $billednavn = time().$_FILES[billedfil][name][$i];
    $thumbnavn ="smaa_".$billednavn;
        copy($_FILES[billedfil][tmp_name][$i], $mappe.$billednavn);
        copy($_FILES[billedfil][tmp_name][$i], $mappe.$thumbnavn);
        $fil_at_skalere = $mappe.$thumbnavn;
       
        if($picttest[2]==2){
        skaler_jpg($fil_at_skalere, $y, $x);
        }
       
        if($picttest[2]==1){
        skaler_gif($fil_at_skalere, $y, $x);
        }
        unlink($mappe.$billednavn);
   
    } else {
    $fejl= "Billede skal være GIF eller JPG";
    }
   
    }//End for

//Nyhed Check
if(empty($_POST['nyhed'])){
    $sti = 'space.gif';
    }else{
    $sti = 'nyhed.gif';
    }

//Udtræk og Insert til databasen


$emne = $_POST['emnevalg'];
$gruppe = $_POST['gruppe'];




include"../includes/mysql.inc.php";

$selectQuery = "SELECT id FROM emner WHERE '$emne' = emne";
$selectResult = mysql_query($selectQuery);
$row = mysql_fetch_array($selectResult);

$insetQuery = "INSERT INTO grupper VALUES ('','$gruppe','images/smaa_images/$thumbnavn','images/$sti',NOW(),'" . $row["id"] . "')";
$insetResult = mysql_query($insetQuery);
$endMessage="Gruppe navnet - $gruppe -  er blevet sat ind i databasen";
}

?>


<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="420" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="49" height="19">&nbsp;</td>
    <td colspan="3" class="menu_link">Opret en grupper</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td width="100">
    </a></td>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td height="19">&nbsp;</td>
    <td>V&aelig;lg emne:</td>
    <td colspan="2"><?php

$emneQuery = "SELECT * FROM emner";
$emnerResult = mysql_query($emneQuery);

$select = "<select name='emnevalg'>";
while ($row = mysql_fetch_array($emnerResult))
          {
          $select .= "<option>";
          $select .= $row["emne"];
          $select .= "</option>";
          }
$select .= "<select>";
echo $select;
?></td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Gruppe navn: </td>
    <td colspan="2"><input name="gruppe" type="text" id="gruppe" /></td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Billede:</td>
    <td colspan="2"><input name="billedfil[]" type="file" /></td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Nyhed:</td>
    <td width="218"><input name="nyhed" type="checkbox" id="nyhed" value="checkbox" /></td>
    <td width="53">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td align="right"><input type="submit" name="submit" value="Opret" /></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td align="right">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="3"><?php echo $fejl;
echo $endMessage; ?></td>
    </tr>
</table>
</form>


<?php
}?>

KODEN SLUT

Casper Andersen
Avatar billede crabber Nybegynder
02. oktober 2006 - 10:05 #1
lukker spm da ingen har svaret!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester