Halløj derude
Jeg sidder med et næsten fungerende event system med kalender og hele molevitten. Men jeg har alligevel nogle problemer med det - nogle større end andre.
Et af problemerne ligger i min add_event1.php fil, hvor jeg tilføjer events. Her er der lavet et billede upload til selve eventen, hvor man tilføjer et billede fra sin lokale maskine og uploader det til en mappe på serveren.
Jeg har selvfølgelig været herinde for at se om der var lign problemer og fandt også relaterende problemer, men kunne ikke gennemskue mit desværre.
Selve upload koden i add_event1.php:
$accept=0;
if($_FILES[billede][name]) {
$size = $_FILES[billede][size] / 512;
if($size > 0 && $size < 511) { // Sørger for billedet ikke fylder meget mere end 500 kb.
} else {
$fejl[] = "Billedet fylder over 500 kb!";
}
$fra = $_FILES[billede][tmp_name];
$fra2 = $_FILES[billede][name];
$tilp = $_FILES[billede][type];
$tiltype = strstr($_FILES[billede][type],"/");
$tiltype = substr($tiltype,1);
if($tiltype == "gif" || $tiltype == "pjpeg" || $tiltype == "x-png") {
$tiltype = str_replace("x-png","png",$tiltype);
$tiltype = str_replace("pjpeg","jpg",$tiltype);
} else {
$fejl[] = "Ulovlig fil-format. Du kan kun uploade GIF, JPG og PNG filer.";
}
if(!$fejl) {
$til = "events/events_pics/".events.time().rand(0000,9979).".$tiltype";
if(function_exists("move_uploaded_file")) {
move_uploaded_file($fra, $til);
$billede = "$til";
$accept=1;
} else {
copy($fra, $til);
$billede = "$til";
$accept=1;
} // Stopper uploaded
Hele add_event1.php filen:
<?
session_start();
if(session_is_registered("user") AND ("pass")) {
include("events/inc/cfg.php");
$get_info = mysql_query("SELECT * FROM events_user WHERE brugernavn = '$_SESSION[user]'") or die(mysql_error());
$show = mysql_fetch_array($get_info);{
?>
<html>
<head>
<meta http-equiv=content-type content="text/html; charset=UTF-8">
<title>Tilføj event</title>
<link rel="stylesheet" type="text/css" href="events/stylesheet/default.css">
<link rel="stylesheet" type="text/css" href="../stylesheet/default.css">
<script type="text/javascript">
function chooseEndDate(){
var d = document.getElementById("day");
var m = document.getElementById("month");
var y = document.getElementById("year");
var dato = new Date(y.value,m.value-1,d.value);
if(dato.getFullYear() != +y.value || dato.getMonth()+1 != +m.value || dato.getDate() != d.value){
alert("Ugyldig startdato");
y.selectedIndex = 0;
d.focus();
return false;
}
dato.setDate(+d.value+1);
var eD = document.getElementById("endday");
var eM = document.getElementById("endmonth");
var eY = document.getElementById("endyear");
eD.selectedIndex = dato.getDate()-1;
eM.selectedIndex = dato.getMonth();
eY.selectedIndex = y.selectedIndex - (dato.getYear() == +y.value ? 1 : 0);
}
</script>
</head>
<body>
<?
if(isset($_POST[addevent])) {
if(!$_POST[forfatter] || !$_POST[overskrift] || !$_POST[adresse] || !$_POST[postnr] || !$_POST[city] || !$_POST[fra_time] || !$_POST[fra_minut] || !$_POST[til_time] || !$_POST[til_minut] || !$_POST[beskrivelse]) {
$fejl[] = "Alle felterne blev ikke udfyldt!";
}
$accept=0;
if($_FILES[billede][name]) {
$size = $_FILES[billede][size] / 512;
if($size > 0 && $size < 511) { // Sørger for billedet ikke fylder meget mere end 500 kb.
} else {
$fejl[] = "Billedet fylder over 500 kb!";
}
$fra = $_FILES[billede][tmp_name];
$fra2 = $_FILES[billede][name];
$tilp = $_FILES[billede][type];
$tiltype = strstr($_FILES[billede][type],"/");
$tiltype = substr($tiltype,1);
if($tiltype == "gif" || $tiltype == "pjpeg" || $tiltype == "x-png") {
$tiltype = str_replace("x-png","png",$tiltype);
$tiltype = str_replace("pjpeg","jpg",$tiltype);
} else {
$fejl[] = "Ulovlig fil-format. Du kan kun uploade GIF, JPG og PNG filer.";
}
if(!$fejl) {
$til = "events/events_pics/".events.time().rand(0000,9979).".$tiltype";
if(function_exists("move_uploaded_file")) {
move_uploaded_file($fra, $til);
$billede = "$til";
$accept=1;
} else {
copy($fra, $til);
$billede = "$til";
$accept=1;
} // Stopper uploaded
}
} else {
$q_profilbillede = mysql_query("SELECT billede FROM events_user WHERE brugernavn = '$_SESSION[user]'") or die(mysql_error());
$q_p = mysql_fetch_array($q_profilbillede);
if($show[billede] == "") {
$billede = "unknown.jpg";
} else {
$billede = "$q_p[billede]";
}
}
if($fejll) {
echo("<b>Der opstod en fejl:</b><br>");
for($i=0;
sizeof($fejll) > $i;
$i++) {
echo("<font color='RED'><b>$fejl[$i]</b></font><br>");
}
} else {
if(!get_magic_quotes_gpc()) {
$forfatter = addslashes($_POST[forfatter]);
$overskrift = addslashes($_POST[overskrift]);
$pris = addslashes($_POST[pris]);
$alder = addslashes($_POST[alder]);
$adresse = addslashes($_POST[adresse]);
$postnr = addslashes($_POST[postnr]);
$city = addslashes($_POST[city]);
$beskrivelse = addslashes($_POST[beskrivelse]);
}
$forfatter = htmlspecialchars($_POST[forfatter]);
$overskrift = htmlspecialchars($_POST[overskrift]);
$pris = htmlspecialchars($_POST[pris]);
$alder = htmlspecialchars($_POST[alder]);
$adresse = htmlspecialchars($_POST[adresse]);
$postnr = htmlspecialchars($_POST[postnr]);
$city = htmlspecialchars($_POST[city]);
// Valgt startdato:
$day = $_POST[day];
$month = $_POST[month];
$year = $_POST[year];
// Automatisk slutdato:
$endday = $_POST[endday];
$endmonth = $_POST[endmonth];
$endyear = $_POST[endyear];
$fra_time = $_POST[fra_time];
$fra_minut = $_POST[fra_minut];
$til_time = $_POST[til_time];
$til_minut = $_POST[til_minut];
$beskrivelse = $_POST[beskrivelse];
$dato = date('d|m|Y');
$klok = date('H:i:s');
$ip = $_SERVER['REMOTE_ADDR'];
$userid = $show[id];
mysql_query("INSERT INTO events (`userid`, `forfatter`,`overskrift`,`pris`,`alder`,`adresse`,`postnr`,`city`,`startdate`,`enddate`,`fra_time`,`fra_minut`,`til_time`,`til_minut`,`text`,`date`,`klok`,`ip`, `billede`, `dato`) VALUES ('$userid', '$forfatter', '$overskrift', '$pris', '$alder', '$adresse', '$postnr', '$city', '$year-$month-$day', '$endyear-$endmonth-$endday', '$fra_time', '$fra_minut', '$til_time', '$til_minut', '$beskrivelse', '$year-$month-$day', '$klok', '$ip', '$billede', '$dato')") or die(mysql_error());
echo "Dit event er nu oprettet!";
}
}
if($fejl || !$_POST[addevent]) {
?>
<table width="100%">
<tr>
<td height="14" align="left" valign="top" style="border-bottom: solid #FFFFFF 1px"><strong>Tilføj et event</strong></td>
</tr>
<tr>
<td height="14" align="left" valign="top"> </td>
</tr>
</table>
<form action="index1.php?side=users_index&menu=add_event" method="POST" enctype="multipart/form-data">
<table border="0" width="50%">
<tr>
<td width="123">Forfatter:</td>
<td width="849">
<input name="forfatter" type="text" disabled="true" class="tekstboks" value="<? echo ucfirst($_SESSION[user]); ?>" size="29"></td>
</tr>
<tr>
<td width="123">Overskrift:</td>
<td width="849"><input name="overskrift" type="text" class="tekstboks" size="29"></td>
</tr>
<tr>
<td width="123">Entrè pris:</td>
<td width="849"><input name="pris" type="text" class="tekstboks" size="4">
(Lad feltet
forblive tomt, hvis der er gratis entrè)</td>
</tr>
<tr>
<td width="123">Aldersgrænse:</td>
<td width="849"><input name="alder" type="text" class="tekstboks" size="4">
(Lad feltet
forblive tomt, hvis der ingen aldersgrænse er.)</td>
</tr>
<tr>
<td width="123">Start dato:</td>
<td width="849">
<select name="day" class="tekstboks" id="day">
<?
for($i=1; $i<32; $i++) {
echo"<option value='$i'>". $i ."</option>";
}
?>
</select>
<select name="month" class="tekstboks" id="month">
<option value="1">Januar</option>
<option value="2">Februar</option>
<option value="3">Marts</option>
<option value="4">April</option>
<option value="5">Maj</option>
<option value="6">Juni</option>
<option value="7">Juli</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<select name="year" size="1" class="tekstboks" id="year" onChange="chooseEndDate();">
<option></option>
<?
for($i = (date('Y')-0);$i <= (date('Y')+2); $i++) {
echo"<option value='$i'>". $i ."</option>";
}
?>
</select> </td>
</tr>
<tr>
<td width="123">Slut dato:</td>
<td width="849">
<select name="endday" class="tekstboks" id="endday">
<?
for($i=1; $i<32; $i++) {
echo"<option value='$i'>". $i ."</option>";
}
?>
</select>
<select name="endmonth" class="tekstboks" id="endmonth">
<option value="1">Januar</option>
<option value="2">Februar</option>
<option value="3">Marts</option>
<option value="4">April</option>
<option value="5">Maj</option>
<option value="6">Juni</option>
<option value="7">Juli</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<select name="endyear" size="1" class="tekstboks" id="endyear">
<?
for($i = (date('Y')-0);
$i <= (date('Y')+2); $i++) {
echo"<option value='$i'>". $i ."</option>";
}
?>
</select> </td>
</tr>
<tr>
<td width="123">Klokkeslæt:</td>
<td width="849"><input name="fra_time" type="text" class="tekstboks" size="1" maxlength="2">
<input name="fra_minut" type="text" class="tekstboks" size="1" maxlength="2">
- <input name="til_time" type="text" class="tekstboks" size="1" maxlength="2">
<input name="til_minut" type="text" class="tekstboks" size="1" maxlength="2"></td>
</tr>
<tr>
<td width="123">Kategori:</td>
<td width="849">
<select name="kategori" class="tekstboks">
<?
$query = mysql_query("SELECT kategori,id FROM event_kategori ORDER BY kategori ASC") or die(mysql_error());
while($s = mysql_fetch_array($query)) {
?>
<option value="<? echo $s[id]; ?>"><? echo $s[kategori]; ?></option>
<?
}
?>
</select> </td>
</tr>
<tr>
<td width="123" valign="top">Billede:</td>
<td width="849"><input name="billede" type="file" class="tekstboks" size="29"><br></td>
</tr>
<tr>
<td colspan="2">Beskrivelse: (HTML: Tilladt)</td>
</tr>
<tr>
<td colspan="2" valign="top"><textarea name="beskrivelse" cols="95" rows="15" class="tekstboks"></textarea></td>
</tr>
<tr>
<td colspan="2"><input name="addevent" type="submit" class="tekstboks" value="Tilføj begivenhed"></td>
</tr>
</table>
</form>
<?
}
?>
</body>
</html>
<?
}
mysql_close();
} else {
echo "Du er ikke logget ind!";
}
?>
Alt andet end billede bliver postet i min event og hvis jeg kigger i den folder på min ftp server, hvor billedet burde være uploaded til, så er den tom.
Håber ikke jeg har skrevet det for indviklet, men måtte forklare det som det er.