Tha_Zaynt Skrevet 29. september 2004 Del Skrevet 29. september 2004 Jeg har fått et lite problem med news-scriptet mitt etter at jeg la til en funksjon slik at man kan laste opp et bilde til nyheten. Problemet er at nyheten blir lagret, men bildet (eller adressen til bildet som det egentlig) blir ikke det. Det virker ikke som scriptet kommer så langt at det rekk å laste opp bildet i det hele tatt fordi nyheten blir først lagret til databasen. Det er stor sannsynlighet for at det står i litt feil rekkefølge. warning: laaang kode! news.php <link rel="stylesheet" type="text/css" href="style.css"> <?php session_start();?> <html> <head> <title>News</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language='Javascript' type='text/javascript'> <!-- function addsmile(smiley) { doc_content = document.sign.nyhet.value + smiley document.sign.nyhet.value = doc_content document.sign.nyhet.focus() } // --> </script> </head> <body> <?php if($_SESSION['auth']) { include("config.php"); echo <<< end <form name='sign' method= '$formMethod' action= '$regScript'> <p>Overskrift: <input type='text' name='tittel' size='37'> <p>Forfatter: <input type='text' name='navn' size='37'> <p><div>Nyhet:<div><textarea value='' name='nyhet' rows='10' cols='46'></textarea></div></div> <p><span>Last opp et bilde:</span> <input type="file" name="userfile"> <p><a href="javascript:addsmile(' X( ')"><img src="$SmileyDir/angry.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :f ')"><img src="$SmileyDir/flirt.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :x ')"><img src="$SmileyDir/dead.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :( ')"><img src="$SmileyDir/frown.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :h ')"><img src="$SmileyDir/cool.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :i ')"><img src="$SmileyDir/idea.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :) ')"><img src="$SmileyDir/smile.gif" alt="" border="0"></a> <a href="javascript:addsmile(';) ')"><img src="$SmileyDir/wink.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :l ')"><img src="$SmileyDir/hrmpf.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :o ')"><img src="$SmileyDir/redface.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :00 ')"><img src="$SmileyDir/look.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :p ')"><img src="$SmileyDir/tounge.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :q ')"><img src="$SmileyDir/quest.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :r ')"><img src="$SmileyDir/shame.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :D ')"><img src="$SmileyDir/biggrin.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :e ')"><img src="$SmileyDir/supergrin.gif" alt="" border="0"></a> <p><input name='sen' type='submit' value='Send'> <input type='reset' value='Visk ut!'> </form> end; // Get data from form if ($_POST['sen'] == 'Send'){ if($formMethod == "post") { $tittel = $_POST['tittel']; $navn = $_POST['navn']; $nyhet = $_POST['nyhet']; $dato = date ("d/m/Y, H:i:s"); } else { $tittel = $_GET['tittel']; $navn = $_GET['navn']; $nyhet = $_GET['nyhet']; $dato = date ("d/m/Y, H:i:s"); } $tittel = addslashes($tittel); $navn = addslashes($navn); $nyhet = addslashes($nyhet); // Check that none of the fields are empty if (empty($tittel) || empty($navn) || empty($nyhet)) { echo"<p></p>"; echo "<p><b>Et eller flere felt mangler nødvendig informasjon!</b></p>"; } else { // Connect to MySQL mysql_connect($mySQLhost, $mySQLuser, $mySQLpass) or die("Could not connect: " . mysql_error()); mysql_select_db($mySQLdb); // Insert the data into the database if (mysql_query("INSERT INTO $mySQLtable (tittel,navn,nyhet,dato) VALUES ('$tittel','$navn','$nyhet','$dato')")) { echo $regSuccess; } else { echo $regFailed. mysql_error(); $connection = mysql_connect($mySQLhost, $mySQLuser, $mySQLpass); $q="SELECT max(id) AS lastID FROM nyhet"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $lastid=$art->lastID; $img_nr= $lastid +1; mysql_close(); if (!$userfile) $userfile ="no"; else{ $userfile = "yes"; } //mappe bildene lagres i $path = 'upload/'; $max_size = 1000000; $filending = explode('.', $HTTP_POST_FILES['userfile']['name']); $nyttnavn="bilde$img_nr.$filending[1]"; $nyttnavn_thumb="bilde_thumb$img_nr.$filending[1]"; if (!isset($HTTP_POST_FILES['userfile'])) { exit; } if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) { if ($HTTP_POST_FILES['userfile']['size']>$max_size) { echo "Filen er for stor<br>n"; exit; } if ( ($HTTP_POST_FILES['userfile']['type'] == 'image/gif') || ($HTTP_POST_FILES['userfile']['type'] == 'image/pjpeg') || ($HTTP_POST_FILES['userfile']['type'] == 'image/jpeg') || ($HTTP_POST_FILES['userfile']['type'] == 'image/png')) { if (file_exists($path . $HTTP_POST_FILES['userfile']['name'])) { echo "Filen finnes allerede-<br>n"; exit; } $res = copy($HTTP_POST_FILES['userfile']['tmp_name'], $path . $nyttnavn); if (!$res) { echo 'upload feilet!<br />\n'; exit; } else { echo '<p>Upload lyktes.</p>'; } echo 'File Name: ' . $HTTP_POST_FILES['userfile']['name'] . '<br />'; echo 'File Size: ' . $HTTP_POST_FILES['userfile']['size'] . ' bytes<br>'; echo 'File Type: ' . $HTTP_POST_FILES['userfile']['type'] . '<br />'; } else { echo "Feil filtype<br/>\n"; exit; } } $my_file = $HTTP_POST_FILES['userfile']['name']; ?> <p><a href="upload">opplastede bilder</a></p> <?php /* $the_array = Array(); $handle = opendir('upload/'); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $the_array[] = $file; } } closedir($handle); foreach ($the_array as $element) { echo "$element @br /@ \n"; }*/ function createThumb($sfile,$dfile) { // the passed variables are string filenames, the source and the destination global $maxwidth,$maxheight; $simg = imagecreatefromjpeg($sfile); $currwidth=imagesx($simg); $currheight=imagesy($simg); //set the dimensions of the thumbnail if ($currheight>$currwidth*1.7) { $zoom=$maxheight/$currheight; $newheight=$maxheight; $newwidth=$currwidth*$zoom; } else { $zoom=$maxwidth/$currwidth; $newwidth=$maxwidth; $newheight=$currheight*$zoom; } //create the resource img for the thumbnail $dimg = imagecreate($newwidth, $newheight); //convert truecolor immage resource to palette image resource (so we can count the colors...) imagetruecolortopalette($simg, false, 256); $palsize = ImageColorsTotal($simg); for ($i = 0; $i<$palsize; $i++) { $colors = ImageColorsForIndex($simg, $i); ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']); } imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight); imagejpeg($dimg,$dfile); ImageDestroy($simg); ImageDestroy($dimg); } $maxwidth=250; $maxheight=250; createThumb("upload//$nyttnavn","upload//$nyttnavn_thumb"); $target = "blank"; $url = "<a href=\"$path$nyttnavn\"><img border=\"0\" src=\"$path$nyttnavn_thumb\" alt=\"\">"; mysql_connect('localhost', 'admin', 'beerbitch') or die("Could not connect: " . mysql_error()); mysql_select_db('news'); if (mysql_query("INSERT INTO nyhet (URL) VALUES ('$url')")) { echo "Bildet ble lagret i databasen"; } else { echo "Bildet ble ikke lagret i databasen."; mysql_error(); } mysql_close(); }}}} else { echo "Du må være logget inn dersom du skal ha tilgang til denne funksjonen.<p>"; include ("login.php"); } ?> </body> </html> Lenke til kommentar
Tha_Zaynt Skrevet 29. september 2004 Forfatter Del Skrevet 29. september 2004 ingen som tar utfordringen? Lenke til kommentar
Torbjørn Skrevet 29. september 2004 Del Skrevet 29. september 2004 generelt lunken stemning for å pløye gjennom spaltemetere med kode. kan du ikke isolere problemet ditt. hva har du gjort av debugging? legg inn sporadiske echo meldinger. echo "nå er jeg på linje xxx og har akkurat flyttet fila.<br>\n"; bruk fantasien litt. Lenke til kommentar
Tha_Zaynt Skrevet 29. september 2004 Forfatter Del Skrevet 29. september 2004 (endret) skulle prøve med _bare_ koden nedenfor, men får bare opp feilmeldingen; Parse error: parse error, unexpected T_ELSE in c:\appserv\www\news\news.php on line 86 <link rel="stylesheet" type="text/css" href="style.css"> <?php session_start();?> <html> <head> <title>News</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language='Javascript' type='text/javascript'> <!-- function addsmile(smiley) { doc_content = document.sign.nyhet.value + smiley document.sign.nyhet.value = doc_content document.sign.nyhet.focus() } // --> </script> </head> <body> <?php if($_SESSION['auth']) { include("config.php"); echo <<< end <form name='sign' enctype='multipart/form-data' method= '$formMethod' action= '$regScript'> <p>Overskrift: <input type='text' name='tittel' size='37'> <p>Forfatter: <input type='text' name='navn' size='37'> <p><div>Nyhet:<div><textarea value='' name='nyhet' rows='10' cols='46'></textarea></div></div> <p><span>Last opp et bilde:</span> <input type="file" name="userfile"> <p><a href="javascript:addsmile(' X( ')"><img src="$SmileyDir/angry.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :f ')"><img src="$SmileyDir/flirt.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :x ')"><img src="$SmileyDir/dead.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :( ')"><img src="$SmileyDir/frown.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :h ')"><img src="$SmileyDir/cool.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :i ')"><img src="$SmileyDir/idea.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :) ')"><img src="$SmileyDir/smile.gif" alt="" border="0"></a> <a href="javascript:addsmile(';) ')"><img src="$SmileyDir/wink.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :l ')"><img src="$SmileyDir/hrmpf.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :o ')"><img src="$SmileyDir/redface.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :00 ')"><img src="$SmileyDir/look.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :p ')"><img src="$SmileyDir/tounge.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :q ')"><img src="$SmileyDir/quest.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :r ')"><img src="$SmileyDir/shame.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :D ')"><img src="$SmileyDir/biggrin.gif" alt="" border="0"></a> <a href="javascript:addsmile(' :e ')"><img src="$SmileyDir/supergrin.gif" alt="" border="0"></a> <p><input name='sen' type='submit' value='Send'> <input type='reset' value='Visk ut!'> </form> end; // Get data from form if ($_POST['sen'] == 'Send'){ if($formMethod == "post") { $tittel = $_POST['tittel']; $navn = $_POST['navn']; $nyhet = $_POST['nyhet']; $dato = date ("d/m/Y, H:i:s"); } else { $tittel = $_GET['tittel']; $navn = $_GET['navn']; $nyhet = $_GET['nyhet']; $dato = date ("d/m/Y, H:i:s"); } $tittel = addslashes($tittel); $navn = addslashes($navn); $nyhet = addslashes($nyhet); // Check that none of the fields are empty if (empty($tittel) || empty($navn) || empty($nyhet)) { echo"<p></p>"; echo "<p><b>Et eller flere felt mangler nødvendig informasjon!</b></p>"; } else { // Connect to MySQL mysql_connect($mySQLhost, $mySQLuser, $mySQLpass) or die("Could not connect: " . mysql_error()); mysql_select_db($mySQLdb); // Insert the data into the database if (mysql_query("INSERT INTO $mySQLtable (tittel,navn,nyhet,dato) VALUES ('$tittel','$navn','$nyhet','$dato')")) { echo $regSuccess; } else { echo $regFailed. mysql_error(); } else { echo "Du må være logget inn dersom du skal ha tilgang til denne funksjonen.<p>"; include ("login.php"); } ?> </body> </html> Endret 29. september 2004 av Tha_Zaynt Lenke til kommentar
Lemkin Skrevet 29. september 2004 Del Skrevet 29. september 2004 En else for mye? vanskelig å lese koden din siden du ikke har noen tabspacing (eller hva det heter). Lenke til kommentar
Tha_Zaynt Skrevet 29. september 2004 Forfatter Del Skrevet 29. september 2004 og det er..? Lenke til kommentar
Torbjørn Skrevet 29. september 2004 Del Skrevet 29. september 2004 indentering heter det. det vil si å ordne innrykk på nøstede blokker (kode inni {} inni {} inni {} etc... if(){ while(){ for(){ } } } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå