Hej
Jeg er igang med at lave et site hvor jeg bruger et temmelig stort PHP-script hvor den både skal uploade et billede, gemme informationer i MySQL-database, samt sende en mail.
Scriptet ser således ud:
- <?php
- session_start();
- //Tjekker brugerrettigheder
- if(isset($_SESSION['username']) ? true : header("Location: ../index.php?msg=ACCESS_DENIED"));
- error_reporting(E_ALL);
- include '../includes/connect.php';
- //Gem indhold fra formularen
- $titel = mysql_real_escape_string($_POST['overskrift']);
- $boligtype = mysql_real_escape_string($_POST['type']);
- $pris = mysql_real_escape_string($_POST['salg']);
- $udbetaling = mysql_real_escape_string($_POST['udbetaling']);
- $leje = mysql_real_escape_string($_POST['leje']);
- $depositum = mysql_real_escape_string($_POST['depositum']);
- $beskrivelse = mysql_real_escape_string($_POST['beskrivelse']);
-
- //Billede upload startes
- if((($_FILES["billede"]["type"] == "image/png") || ($_FILES["billede"]["type"] == "image/jpeg")) && ($_FILES["billede"]["size"] < 6000000)) {
- //jpeg //jpg //pjpeg
-
- //6000000 / 1024 = 5.859,375 kb
- //1000 / 1024 = 0,9765625 kb
- if($_FILES["billede"]["error"] > 0) {
-
- echo "".$_FILES["billede"]["error"]."" ;
-
- } else {
- if(file_exists("../images/bolig/".$_FILES["billede"]["name"]."")) {
-
- echo "Findes allerede";
-
- } else {
- if ($_FILES["type"] == "png") {
- $endelse = "png";
- }
- elseif ($_FILES["type"] == "jpg" OR $_FILES["type"] == "jpeg" OR $_FILES["type"] == "pjpeg") {
- $endelse = "jpg";
- }
- $img = date("Y-m-d H:i:s")-md5($boligtype).".".$endelse;
-
- move_uploaded_file($_FILES["billede"]["tmp_name"], "../images/bolig/$img");
- $billede = "images/bolig".$img."";
- echo "Uploaded til: upload/$img";
-
- }
-
- }
- }
- //Indsæt i database
- if (isset($_POST['submit']) && $_POST['spamcheck'] == "") {
- $tabeldata = "INSERT INTO boliger(titel, billede, boligtype, pris, udbetaling, leje, depositum, beskrivelse)VALUES ('$titel','$billede', '$boligtype', '$pris', '$udbetaling', '$leje', '$depositum', '$beskrivelse')";
-
- $resultat = mysql_query($tabeldata) or die (mysql_error());
- }
- function escapeAddr($addr) {
- $check = preg_match('/(.*)<(.*)>/', $addr, $a);
- if ($check) $addr = '=?UTF-8?B?'.base64_encode($a[1]).'?= <'.$a[2].'>';
- return $addr;
- }
- function mail_utf8($to, $subject='', $message='', $from='', $cc='', $bcc='') {
- $from = escapeAddr($from);
- $header = 'From: '.$from.PHP_EOL
- . 'Return-Path: '.$from.PHP_EOL
- . 'Reply-To: '.$from.PHP_EOL
- . 'MIME-Version: 1.0'.PHP_EOL
- . 'Content-type: text/html; charset=UTF-8'.PHP_EOL
- . 'X-Mailer: PHP/'.phpversion().PHP_EOL
- . 'Content-Transfer-Encoding: 8bit'.PHP_EOL;
- if ($cc!='') $header .= 'Cc: '.escapeAddr($cc).PHP_EOL;
- if ($bcc!='') $header .= 'Bcc: '.escapeAddr($bcc).PHP_EOL;
- $header .= PHP_EOL;
- return mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header);
- }
- $data = mysql_query("SELECT * FROM users WHERE username = '" . $_SESSION['username'] ."'") or die(mysql_error());
- $info = mysql_fetch_array($data);
- $arrReplace = array(
- '%{NAVN}%' => $info['navn'],
- '%{ADRESSE}%' => $info['adresse'],
- '%{POSTBY}% ' => $info['postby'],
- '%{MAIL}% ' => $info['epost'],
- '%{TYPE}% ' => $boligtype,
- '%{PRIS}% ' => $pris,
- '%{UDBETALING}%' => $udbetaling,
- '%{LEJE}%' => $leje,
- '%{DEPOSITUM}%' => $depositum,
- '%{BESKRIVELSE}%' => $beskrivelse
- );
- $templ = file_get_contents('bolig.tmpl');
- $templ2 = file_get_contents('bolig2.tmpl');
- $besked = strtr($templ, $arrReplace);
- $besked2 = strtr($templ2, $arrReplace);
- $success = mail_utf8('khansen.it@gmail.com', '(Automatisk bekræftelse) Bolig oprettet', $besked, 'autosvar@ejeleje.dk', '', '');
- $send = mail_utf8($info['epost'], '(Automatisk bekræftelse) Bolig oprettet', $besked2, 'autosvar@ejeleje.dk', '', '');
- if ($success && $send) {
- // Mail sendt
- $_SESSION['done'] = '<h1>Tak for din henvendelse</h1><p>Tak for din henvendelse. Vi har gemt din bolig i systemet og den kan nu ses på vores side. Vi kontakter dig hurtigst muligt, når der kommer et henvendelse</p>';
- echo $_SESSION['done'];
- } else {
- // Der er en fejl!
- $_SESSION['done'] = '<h1>Hovsa!</h1><p>Hovsa! Der gik noget galt. Hvis det er første gang du ser denne fejl prøv venligst igen og tjek at du har udfyldt alle krævede felter.<br />Opstå fejlen igen bedes du kontakte os via kontaktsiden eller den, på samme side, oplyste mailadresse.</p><p>Vi undskylder ulejeligheden</p>';
- echo $_SESSION['done'];
- }
- ?>
Når jeg bruger min formular, som ser således ud:
- <form enctype="multipart/form-data" name="opret" action="bolig.php" method="post">
- <h1>Opret bolig</h1>
- <p>På denne side kan du oprette din bolig hos os. Alle oplysninger der indgives på denne side vil kun være tilgængelige for INTERSREVICE og videregives ikke til tredjemand.</p>
- <p>Overskrift: <input type="text" name="overskrift" /><br />
- Boligtype:
- <?php include '../includes/boligtyper.php'; ?><br />
- Salgspris: <input type="text" name="salg" /><br />
- Udbetaling: <input type="text" name="udbetaling" /><br />
- Leje: <input type="text" name="leje" /><br />
- Depositum: <input type="text" name="depositum" /></p>
- <p>Billede: <input type="file" name="billede" /><br />
- <i style="font-size: 10px; color: #666;">Billeder må kun være JPG/JPEG/PNG med en max filstørrelse på 5MB</i></p>
- <p>Beskrivelse:<br /> <textarea name="beskrivelse" cols="45" rows="5"></textarea><br />
- <input type="text" name="spamcheck" value="" style="visibility:hidden;">
- <input type="submit" name="opret" value="Opret din bolig" />
- <input type="button" name="back" value="Tilbage til forsiden" onclick="window.location.href='../index.php'" /></p>
- </form>
Skulle den jo meget gerne være korrekt lavet med henhold til upload.
Jeg får dog dette udskrevet på skærmen når jeg tester.
Notice: Undefined index: type in /Applications/XAMPP/xamppfiles/htdocs/ejeleje/user/bolig.php on line 32
Notice: Undefined index: type in /Applications/XAMPP/xamppfiles/htdocs/ejeleje/user/bolig.php on line 35
Notice: Undefined index: type in /Applications/XAMPP/xamppfiles/htdocs/ejeleje/user/bolig.php on line 35
Notice: Undefined index: type in /Applications/XAMPP/xamppfiles/htdocs/ejeleje/user/bolig.php on line 35
Notice: Undefined variable: endelse in /Applications/XAMPP/xamppfiles/htdocs/ejeleje/user/bolig.php on line 38
Uploaded til: upload/1953.
Tak for din henvendelse
Tak for din henvendelse. Vi har gemt din bolig i systemet og den kan nu ses på vores side. Vi kontakter dig hurtigst muligt, når der kommer et henvendelseHvad kan være årsagen til det. Det er jo tydeligvis en del af mit uploadscript der er problemet og specifikt den del der afgører filnavnets endelse. Dog kan jeg ikke lige se hvad jeg har gjort forkert.