Kommentarer/forslag til koden..
Jeg har lavet nedenstående kode, hvor man kan oprette en annonce med tilhørende billede, og jeg vil gerne høre om i har nogle forslag/kommentarer til koden. Jeg er selv lidt i tvivl om det er ok.. Men det virker da :) Noget jeg bl.a. selv har tænkt over er om man SKAL indsætte <html>, <head> osv..<script type="text/JavaScript">
function add_kategori(valg)
{
kategori = document.form.kategori;
for(i=0; i < kategori.length; i++)
{
kategori.options[i] = null;
}
switch(valg)
{
case 1:
kategori.options[0] = new Option('Packard bell','Packard bell');
kategori.options[1] = new Option('Toshiba','Toshiba');
kategori.options[2] = new Option('Fujitsu Siemens','Fujitsu Siemens');
break;
case 2:
kategori.options[0] = new Option('Windows','Windows');
kategori.options[1] = new Option('Norton','Norton');
kategori.options[2] = new Option('Office','Office');
break;
case 3:
kategori.options[0] = new Option('Samsung','Samsung');
kategori.options[1] = new Option('Viewsonic','Viewsonic');
kategori.options[2] = new Option('Neovo','Neovo');
break;
case 4:
kategori.options[0] = new Option('Epson','Epson');
kategori.options[1] = new Option('HP','HP');
kategori.options[2] = new Option('Canon','Canon');
break;
}
}
</script>
<script type="text/JavaScript" src="../members/dk_pns.js"></script>
<script type="text/JavaScript">
function validering(f){
if( f.gruppe.value==''){
alert("Der skal vælges en gruppe!");
f.gruppe.focus();
return false;
}
if( f.kategori.value==''){
alert("Der skal vælges en kategori!");
f.kategori.focus();
return false;
}
if( f.produkt.value==''){
alert("Produkt skal udfyldes!");
f.produkt.focus();
return false;
}
if( f.pris.value==''){
alert("Pris skal udfyldes!");
f.pris.focus();
return false;
}
if(form.email.value == '' && form.tlf1.value == ''){
alert("Telefonnr. 1 eller e-mail skal udfyldes!");
f.tlf1.focus();
return false;
}
if( f.postNr.value==''){
alert("Postnr. skal udfyldes!");
f.postNr.focus();
return false;
}
if( !pn["p"+f.postNr.value] ){
alert("Postnr. synes ikke at eksistere!");
f.postNr.focus();
return false;
}
if(f.checkbox.checked==false){
alert("Jeg har læst og forstået vedtægter for annoncering, skal afkrydses!");
f.checkbox.focus();
return false;
}
var elm = f.elements["imagefile[1]"];
if(!elm.value.toLowerCase().match(/\.jpe?g$|^$/)){
alert("Du kan kun uploade billeder af typen jpg eller jpeg.\nLæs evt. under hjælp nederst !");
elm.focus();
form.mySubmit.disabled = false;
return false;
}
elm = f.elements["imagefile[2]"];
if(!elm.value.toLowerCase().match(/\.jpe?g$|^$/)){
alert("Du kan kun uploade billeder af typen jpg eller jpeg.\nLæs evt. under hjælp nederst !");
elm.focus();
form.mySubmit.disabled = false;
return false;
}
elm = f.elements["imagefile[3]"];
if(!elm.value.toLowerCase().match(/\.jpe?g$|^$/)){
alert("Du kan kun uploade billeder af typen jpg eller jpeg.\nLæs evt. under hjælp nederst !");
elm.focus();
form.mySubmit.disabled = false;
return false;
}
f.mySubmit.disabled = true;
return true;
}
</script>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}
// End -->
</script>
<style>
<!--
.speciel{
color:#DD0000;
font:16 px Times New Roman,helvetica,tahoma,Georgia,verdana,arial,Courier New;
text-decoration: none;
font-style: normal;
font-weight: bold;
}
-->
<!--
.mellem{
color:#658091;
font:15 px Times New Roman,helvetica,tahoma,Georgia,verdana,arial,Courier New;
text-decoration: none;
font-style: normal;
font-weight: bold;
}
-->
<!--
.lille{
color:#000000;
font:15px Times New Roman,Arial,Helvetica,sans-serif;
text-decoration: none;
}
-->
<!--
.lilleLink{
color:#0000CD;
font:15px Times New Roman,Arial,Helvetica,sans-serif;
text-decoration: none;
}
-->
</style>
<style type="text/css">
body {
overflow-x: hidden;
overflow-y: scroll;
}
</style>
<body link="#0000cc" vlink="#0000cc">
<?PHP
require_once("../members/common.php");
session_start();
function resize( $filename, $newfilename, $maxw, $maxh )
{
$result = false;
$srcim = imagecreatefromjpeg( $filename );
$ow = imagesx( $srcim );
$oh = imagesy( $srcim );
$wscale = $maxw / $ow;
$hscale = $maxh / $oh;
$scale = ( $hscale < $wscale ? $hscale : $wscale );
$nw = round( $ow * $scale, 0 );
$nh = round( $oh * $scale, 0 );
$dstim = imagecreatetruecolor( $nw, $nh );
imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
$result = imagejpeg( $dstim, $newfilename, 85 );
imagedestroy( $dstim );
imagedestroy( $srcim );
return $result;
}
$allowPics = array("jpg","jpeg","jpe","JPG","JPEG","JPE");
if($userId = is_logged())
{
$userName = get_name();
}
else
{
echo' <body scroll="no" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td width="100%">
<div align="center">
<img src="../NewFiles/ikkeLoggetInd.gif" alt="" border="0"><br>
</div>
</td>
</tr>
<tr>
<td width="100%">
<div align="center">
</div>
</td>
</tr>
</table>
</body> ';
}
if(!empty($_POST['produkt']))
{
//Forbind til database...
$userId = mysql_real_escape_string($_POST['userId']);
$gruppe = mysql_real_escape_string($_POST['gruppe']);
$kategori = mysql_real_escape_string($_POST['kategori']);
$produkt = mysql_real_escape_string($_POST['produkt']);
$supplerendeTekst = mysql_real_escape_string($_POST['supplerendeTekst']);
$pris = mysql_real_escape_string($_POST['pris']);
$loebetidForAnnonce = mysql_real_escape_string($_POST['loebetidForAnnonce']);
$tlf1 = mysql_real_escape_string($_POST['tlf1']);
$tlf2 = mysql_real_escape_string($_POST['tlf2']);
$email = mysql_real_escape_string($_POST['email']);
$postNr = mysql_real_escape_string($_POST['postNr']);
$checkbox = mysql_real_escape_string($_POST['checkbox']);
//MEGET VIGTIGT.. NEDENSTÅENDE 2 QUERYS VEDLIGEHOLDER DATABASEN
//Q1 -HVIS DER HVERKEN STÅR ET TLF ELLER EN EMAIL KAN MAN IKKE KONTAKTES
mysql_query("DELETE FROM salgAfProdukt WHERE tlf1='' and email=''");
//Q2 -SLETTER ANNONCER + TILHØRENDE BILLEDER SOM ER ÆLDRE END NUVÆRENDE DATO(kun annoncer med billede bliver slettet her)
mysql_query("DELETE salgAfProdukt, billeder_salgAfProdukt FROM salgAfProdukt, billeder_salgAfProdukt WHERE billeder_salgAfProdukt.artikelid=salgAfProdukt.id AND salgAfProdukt.loebetidForAnnonce < NOW()");
//Q3 -SLETTER ANNONCER UDEN BILLEDER SOM ER ÆLDRE END NUVÆRENDE DATO
mysql_query("DELETE FROM salgAfProdukt WHERE loebetidForAnnonce < NOW()");
mysql_query("INSERT INTO salgAfProdukt(Id,userId,gruppe,kategori,produkt,supplerendeTekst,pris,loebetidForAnnonce,tlf1,tlf2,email,postNr,checkbox)
VALUES('','".$userId."','".$gruppe."','".$kategori."','".$produkt."','".$supplerendeTekst."','".$pris."', DATE_ADD(NOW(), INTERVAL ".$loebetidForAnnonce." DAY),'".$tlf1."','".$tlf2."','".$email."','".$postNr."','".$checkbox."')");
if(mysql_affected_rows()>0)
{
$errmsg = "";
$artikelID = mysql_insert_id();
for($i = 1; $i <= 3; $i++)
{
if($_FILES['imagefile']['size'][$i] > 1048000)
{
$errmsg .= "Billede " . $i . " er for stort, max 1024000 bytes!<br>";
}
else
{
$extension = strtolower(end(explode(".",$_FILES['imagefile']['name'][$i])));
if(!in_array($extension,$allowPics))
{
$errmsg .= "Billede " . $i . " er forkert type, kun jpeg!<br>";
}
else
{
$dato = date("y-m-d h:i:s");
resize($_FILES['imagefile']['tmp_name'][$i],"latest.img",350,350);
$instr = fopen("latest.img","rb");
$image = addslashes(fread($instr,filesize("latest.img")));
mysql_query ("insert into billeder_salgAfProdukt (id, artikelid, pic, oprettetDato) values ('', ".$artikelID.",'".$image."','.$dato.')") or die(mysql_error());
}
}
}
echo "<b><span class=\"speciel\">Annoncen er oprettet!</span></b><br>
<span class=\"lille\">- Du kan forlænge løbetid, redigere og slette dine annoncer under "Min konto"</span><br>
<span class=\"lille\">- Det er kun tilladt at oprette én annonce pr. vare/produkt.</span>";
}
else
{
echo "Fejl: " . mysql_error() . "<br>";
}
}
?>
<?php
if($userId = is_logged())
{
$userId = is_logged();
}
$query=mysql_query("SELECT userId FROM `users` WHERE userId = '".is_logged()."'");
$row=mysql_fetch_assoc($query);
?>
<body>
<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF'];?>" method="post" name="form" onsubmit="return validering(this)">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td width="100%">
<div align="center">
<table border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="555">
<p>
<span class="mellem">
<b>
<u>Her har du mulighed for at oprette en salgsannonce</u>
</b>
</span>
</p>
<p></p>
</td>
</tr>
<tr>
<td width="555">
<table width="561" border="0" cellspacing="2" cellpadding="0">
<span class="lille">
<tr>
<td width="200"></td>
<td><input type="hidden" name="userId" value="<? echo $row['userId']; ?>" readonly size="5"></td>
</tr>
<tr>
<td width="200"><span class="lille">Produktgruppe</span></td>
<td>
<select name="gruppe" onchange="add_kategori(this.selectedIndex);">
<option>Vælg produktgruppe</option>
<option value="Bærbare">Bærbare</option>
<option value="Software">Software</option>
<option value="Skærme">Skærme</option>
<option value="Printere">Printere</option>
</select>
<font color="#ee0000">*</font></td>
</tr>
<tr>
<td width="200"><span class="lille">Underkategori</span></td>
<td><select name="kategori">
<option value="0"> </option>
</select>
<font color="#ee0000">*</font></td>
</tr>
<tr>
<td width="200"><span class="lille">Produkt/overskrift</span></td>
<td><input type="text" name="produkt" size="25" maxlength="33">
<font color="#ee0000">*</font></td>
</tr>
<tr>
<td valign="top" width="200"><span class="lille">Supplerende tekst<br>
(maks 350 tegn)</span></td>
<td><textarea name=supplerendeTekst wrap=physical cols=34 rows=4 onKeyDown="textCounter(this.form.supplerendeTekst,this.form.remLen,350);" onKeyUp="textCounter(this.form.supplerendeTekst,this.form.remLen,350);"></textarea><br>
<input readonly type=text name=remLen size=3 maxlength=3 value="350">
<span class="lille"> tegn tilbage</span></td>
</tr>
<tr>
<td width="200"><span class="lille">Pris i hele kroner</span></td>
<td><input type="text" name="pris" size="15" border="0" maxlength="5">
<font color="#ee0000">*</font></td>
</tr>
<tr>
<td width="200"><span class="lille">Løbetid for annoncen</span></td>
<td><span class="lille">15 dage</span><input type="radio" name="loebetidForAnnonce" value="15" border="0"> <span class="lille"> | 30 dage</span><input type="radio" name="loebetidForAnnonce" value="30" border="0"> <span class="lille"> | 45 dage</span><input type="radio" name="loebetidForAnnonce" value="45" checked border="0"></td>
</tr>
</table>
<p>
</p>
<table width="100%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td>
<hr>
<span class="mellem"><b><u>Tilføj evt. billeder til din annonce</u></b>
<span class="lille"><p>Billedtype skal være jpg ell. jpeg og samlet filstørrelse må maks være 1mb.</p>
</span></td>
</tr>
</table>
<p>
<table width="561" border="0" cellspacing="2" cellpadding="0">
<span class="lille">
<tr>
<td width="200"><span class="lille">Billede 1:</span></td>
<td><input type="file" name="imagefile[1]"></td>
</tr>
<tr>
<td width="200"><span class="lille">Billede 2:</span></td>
<td><input type="file" name="imagefile[2]"></td>
</tr>
<tr>
<td width="200"><span class="lille">Billede 3:</span></td>
<td><input type="file" name="imagefile[3]"></td>
</tr>
</span>
</table>
</p>
<p></p>
<table width="100%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td>
<hr>
<span class="mellem"><b><u>Dine oplysninger, som skal vises i annoncen</u></b></span></td>
</tr>
</table>
<p>
<table width="462" border="0" cellspacing="2" cellpadding="0">
<span class="lille">
<tr>
<td width="200"><span class="lille">Telefonnr. 1</span></td>
<td><input type="text" name="tlf1" size="25" border="0" maxlength="8"></td>
</tr>
<tr>
<td width="200"><span class="lille">Telefonnr. 2</span></td>
<td><input type="text" name="tlf2" size="25" border="0" maxlength="8"></td>
</tr>
<tr>
<td width="200"><span class="lille">E-mail</span></td>
<td><input type="text" name="email" size="25" border="0" maxlength="40"></td>
</tr>
<tr>
<td width="200"><span class="lille">Postnr.</span></td>
<td><input type="text" name="postNr" size="10" border="0" maxlength="4"> <font color="#ee0000">*</font></td>
</tr>
<tr>
<td width="200"></td>
<td></td>
</tr>
</span>
</table>
</td>
</tr>
<tr>
<td width="555">
<span class="lille">Jeg har læst og forstået vedtægter for annoncering</span>
<input type="checkbox" name="checkbox" value="1" border="0">
<p><input type="submit" name="mySubmit" value="Opret salgsannonce"> <a href="#" onClick="window.open('../hjaelpTilAnnonce.html','win1', 'height=250,width=400,top=150,left=100,screenY=150,screenX=100')"><span class="lilleLink"><u>Hjælp</u></span></a> | <a href="#" onClick="window.open('../vedtaegterForAnnoncering.html','win1', 'height=400,width=400,top=150,left=100,screenY=150,screenX=100')"><span class="lilleLink"><u>Vedtægter for annoncering</u></span></a></p>
</div>
</td>
</tr>
</table>
</form></body>
