Mellet Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 (endret) Har laget en side. Har et "legg til nyhet" script. Men når noe er feil.. Som for eksempel at jeg har glemt å skrive inn tittelen. Da skal scriptet stoppe.. Altså exit(); eller die("Du har ikke tittel"). Men da stopper ikke bare scriptet men også slutten av siden forsvinner. Hvordan kan jeg gjøre at det kun er scriptet som stopper i å sende tomme felt i databasen. Her er bilder av hva som skjer: Før jeg klikker send: Etter at jeg klikker send: Edit: det som skjer er at Copyright og teller forsvinner Endret 10. mai 2005 av Mellet Lenke til kommentar
EirikO Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 Når du kaller exit(); vil lasting av siden stoppe. Derfor forvinner slutten av siden. Du bør heller bruke en liten if-setning.. Noe som f.eks.: if($navn == null || $tittel == null || $nyhet == null) { print("Du glemte et felt); } else { kjør spørring! } Lenke til kommentar
genstian Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 Når du kaller exit(); vil lasting av siden stoppe. Derfor forvinner slutten av siden.Du bør heller bruke en liten if-setning.. Noe som f.eks.: if($navn == null || $tittel == null || $nyhet == null) { print("Du glemte et felt); } else { kjør spørring! } det burde fikse problemet eller du kan fjerne exit(). Lenke til kommentar
toss Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 vil lastingen slutte, eller vil bare php-skriptet slutte? si at jeg har litt html etter at php-skript som avsluttes, vil det da komme med? Lenke til kommentar
Mellet Skrevet 10. mai 2005 Forfatter Del Skrevet 10. mai 2005 Når du kaller exit(); vil lasting av siden stoppe. Derfor forvinner slutten av siden.Du bør heller bruke en liten if-setning.. Noe som f.eks.: if($navn == null || $tittel == null || $nyhet == null) { print("Du glemte et felt); } else { kjør spørring! } det burde fikse problemet eller du kan fjerne exit(). Nope, viss jeg fjerner exit(); blir nyheten sendt inn uansett om noen felt er tomme :/.. Lenke til kommentar
genstian Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 vil lastingen slutte, eller vil bare php-skriptet slutte?si at jeg har litt html etter at php-skript som avsluttes, vil det da komme med? nei, du sier til serveren at den skal slutte og sende til klienten. Lenke til kommentar
genstian Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 Når du kaller exit(); vil lasting av siden stoppe. Derfor forvinner slutten av siden.Du bør heller bruke en liten if-setning.. Noe som f.eks.: if($navn == null || $tittel == null || $nyhet == null) { print("Du glemte et felt); } else { kjør spørring! } det burde fikse problemet eller du kan fjerne exit(). Nope, viss jeg fjerner exit(); blir nyheten sendt inn uansett om noen felt er tomme :/.. ok, kan du poste scriptet ditt? Lenke til kommentar
Mellet Skrevet 10. mai 2005 Forfatter Del Skrevet 10. mai 2005 (endret) Når du kaller exit(); vil lasting av siden stoppe. Derfor forvinner slutten av siden.Du bør heller bruke en liten if-setning.. Noe som f.eks.: if($navn == null || $tittel == null || $nyhet == null) { print("Du glemte et felt); } else { kjør spørring! } Har en liten ide Hva om jeg først sjekker om hvert enkelt felt er fylt ut. Da vises d en feil melding for hver felt som ikke ble fylt ut. Deretter sjekker den bare en gang om alle felt er fylt ut.. Da bruker jeg din.. Så om noe er galt vil ikke Sett inn Scriptet bli startet men feilmeldingen vil fortsatt vises uten at jeg trenger exit(); Skal teste dette hehe, noen som forsto hva jeg mente Blei litt sånn blabla, blabla, blabla Men jaja, jeg sjønte d Edit: Skal poste ut scriptet om det funker Endret 10. mai 2005 av Mellet Lenke til kommentar
Mellet Skrevet 10. mai 2005 Forfatter Del Skrevet 10. mai 2005 (endret) Her er scriptet: (Alt funker fint hos meg) <?php if($_SESSION['brukernavn'] && $_SESSION['passord']) { if($_POST['tittel'] == null) {print("<span class=underskrift>Nyheten må ha en tittel.</span><br>"); include ("addnyhet.php");} elseif($_POST['av'] == null) {print("<span class=underskrift>Du har ikke skrevet hvem som er forfatter av nyhet.</span><br>"); include ("addnyhet.php");} elseif($_POST['ingress'] == null) {print("<span class=underskrift>Nyheten må ha en ingress.</span><br>"); include ("addnyhet.php");} elseif($_POST['nyhet'] == null) {print("<span class=underskrift>Du har ikke skrevet selve nyheten.</span><br>"); include ("addnyhet.php");} elseif($_FILES['bilde'] == null) {print("<span class=underskrift>Du har ikke lastet opp noe bilde ennå.</span><br>"); include ("addnyhet.php");} else { //Bilde Upload function fileAccept($test) { $fileAccept = array('image/png', 'image/xpng', 'image/jpg', 'image/jpeg', 'image/pjpeg', 'image/gif'); if(!in_array($_FILES['bilde']['type'], $fileAccept)) return false; } $fileAccept = array('image/png', 'image/xpng', 'image/jpg', 'image/jpeg', 'image/pjpeg', 'image/gif'); $filePath = 'govat/'; $thumbPercent = 25; $createThumb = false; if(is_uploaded_file($_FILES['bilde']['tmp_name']) && $_FILES['bilde']['error'] == 0) { if(in_array($_FILES['bilde']['type'], $fileAccept)) { if($_FILES['bilde']['type'] == 'image/png' || $_FILES['bilde']['type'] == 'image/xpng') { $fileExt = '.png'; } elseif($_FILES['bilde']['type'] == 'image/jpg' || $_FILES['bilde']['type'] == 'image/jpeg' || $_FILES['bilde']['type'] == 'image/pjpeg') {$fileExt = '.jpg';} elseif($_FILES['bilde']['type'] == 'image/gif') {$fileExt = '.gif';} $fileName = str_replace($fileExt, '', $_FILES['bilde']['name']); $fileThumb = $fileName .'_thumb'; $fileSize = getimagesize($_FILES['bilde']['tmp_name']); if(!is_file($filePath . $fileName . $fileExt)) { if(!copy($_FILES['bilde']['tmp_name'], $filePath . $fileName . $fileExt)) { echo '<span class=underskrift>Kunne ikke flytte bilde til mappen</span> '. $filePath; unlink($_FILES['bilde']['tmp_name']); } else { if($createThumb) { if($_FILES['bilde']['type'] == 'image/png' || $_FILES['bilde']['type'] == 'image/xpng') { $moveImage = imagecreatefrompng($filePath . $fileName . $fileExt); } elseif($_FILES['bilde']['type'] == 'image/jpg' || $_FILES['bilde']['type'] == 'image/jpeg' || $_FILES['bilde']['type'] == 'image/pjpeg') { $moveImage = imagecreatefromjpeg($filePath . $fileName . $fileExt); } elseif($_FILES['bilde']['type'] == 'image/gif') { $moveImage = imagecreatefromgif($filePath . $fileName . $fileExt); } $thumbImage = imagecreatetruecolor(($fileSize[0] / 100) * $thumbPercent, ($fileSize[1] / 100) * $thumbPercent); imagecopyresampled($thumbImage, $moveImage, 0, 0, 0, 0, ($fileSize[0] / 100) * $thumbPercent, ($fileSize[1] / 100) * $thumbPercent, $fileSize[0], $fileSize[1]); if($_FILES['bilde']['type'] == 'image/png' || $_FILES['bilde']['type'] == 'image/xpng') { imagepng($thumbImage, $filePath . $fileThumb . $fileExt); } elseif($_FILES['bilde']['type'] == 'image/jpg' || $_FILES['bilde']['type'] == 'image/jpeg' || $_FILES['bilde']['type'] == 'image/pjpeg') { imagejpeg($thumbImage, $filePath . $fileThumb . $fileExt); } elseif($_FILES['bilde']['type'] == 'image/gif') { imagegif($thumbImage, $filePath . $fileThumb . $fileExt); } imagedestroy($moveImage); imagedestroy($thumbImage); } echo ("<span class=underskrift>Bildet er ferdig lastet opp.</span><br>"); } } else { echo ("<span class=underskrift>Bilde finnes allerede.</span><br>"); } } else { echo $_FILES['bilde']['type'] .'<br>'; echo ("<span class=underskrift>Desverre, dette er en ugyldig bildetype.</span><br>"); } } else { switch($_FILES['bilde']['error']) { case 0: echo "<span class=underskrift>Noe galt med bilde, prøv igjen.</span><br>"; break; case 1: echo "<span class=underskrift>Bilde er for stort. (php.ini)</span><br>"; break; case 2: echo "<span class=underskrift>Bilde er for stort.</span><br>"; break; case 3: echo "<span class=underskrift>Bilde ble bare delvis lastet opp.</span><br>"; break; case 4: echo "<span class=underskrift>Ingen bilde ble lastet opp.</span><br>"; break; case 6: echo "<span class=underskrift>Fant ikke mappen til bilde.</span><br>"; break; default: echo "<span class=underskrift>Kontakt Web Ansvarlig. Bilde ble ikke lastet opp.</span><br>"; break; } } //Slutt $tittel = ($_POST['tittel']); $ingress = ($_POST['ingress']); $nyhet = ($_POST['nyhet']); $av = ($_POST['av']); $bilde = ($fileName . $fileExt); $nyhet = @mysql_query ("INSERT INTO `nyheter` (`id`, `tittel`, `ingress`, `nyhet`, `forfatter`, `bilde`, `dato`) VALUES ('', '$tittel', '$ingress', '$nyhet', '$av', '$bilde', CURDATE())"); if(@mysql_affected_rows($info) == "0") { echo("<span class=underskrift>Det oppstå en feil når nyheten ble lagt til databasen.</span><br>"); include("addnyhet.php");} else { echo("<span class=underskrift>Nyheten er nå lagt til.</span><br>"); include("addnyhet.php");} }} else { echo ("<span class=underskrift>Du må være logget inn.</span><br>"); include("logginn.php"); } ?> PS: Denne sjekker om SESSION er lagt til for å se om jeg er logget inn. Scriptet er så langt fordi dette scriptet legger til et bilde til nyheten også. <span class=underskrift> kan fjernes Men jeg bruker CSS for å få en fin rød error tekst Edit: Endret hele scriptet:) Endret 10. mai 2005 av Mellet Lenke til kommentar
EirikO Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 Har en liten ide Hva om jeg først sjekker om hvert enkelt felt er fylt ut. Da vises d en feil melding for hver felt som ikke ble fylt ut. Deretter sjekker den bare en gang om alle felt er fylt ut.. Da bruker jeg din.. Så om noe er galt vil ikke Sett inn Scriptet bli startet men feilmeldingen vil fortsatt vises uten at jeg trenger exit(); Skal teste dette hehe, noen som forsto hva jeg mente Blei litt sånn blabla, blabla, blabla Men jaja, jeg sjønte d Du trenger ikke teste flere ganger...: if($navn == null) { print("Du mangler navn"); } elseif($nyhet == null) { print("du må skrive en nyhet"); } elseif($tittel == null) { print("Du må skrive en tittel"); } else { kjør spørring!!! } Da vil den kun kjøre spørringen dersom alle feltene er fylt ut. Lenke til kommentar
Mellet Skrevet 10. mai 2005 Forfatter Del Skrevet 10. mai 2005 (endret) Du trenger ikke teste flere ganger...: if($navn == null) { print("Du mangler navn"); } elseif($nyhet == null) { print("du må skrive en nyhet"); } elseif($tittel == null) { print("Du må skrive en tittel"); } else { kjør spørring!!! } Da vil den kun kjøre spørringen dersom alle feltene er fylt ut. OoooooOOoo.. har aldri skjønt meg helt på elseif Men det var jo fint!;D Da kan jeg bruke d Edit: Den eneste ulempen nå er at alle feil ikke vises på en gang.. Endret 10. mai 2005 av Mellet Lenke til kommentar
LateFot Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 du kan sjekke om feltene er fylt inn slik: if (!($name) || !($nyhet) || !($tittel)) { echo 'ett eller flere felt mangler<br>'; if (!$name) { echo 'navn mangler<br>'; } if (!$nyhet) { echo 'nyhet mangler<br>'; } if (!$tittel) { echo 'tittel manlger'; } }else{ din spørrring } da vil du få opp de feltene som mangler samtidig, istedet for ett og ett felt. Lenke til kommentar
Gilbert Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 Kanskje mer elegant å putte alle tomme felter inn i et array? 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å