Gå til innhold

exit(); ? Slutten av siden forsvinner.


Anbefalte innlegg

Skrevet (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:

bilde18dv.jpg

 

Etter at jeg klikker send:

bilde28xh.jpg

 

Edit: det som skjer er at Copyright og teller forsvinner :hmm:

Endret av Mellet
Videoannonse
Annonse
Skrevet

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!
}

Skrevet
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().

Skrevet

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?

Skrevet
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 :/..

Skrevet
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.

Skrevet
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?

Skrevet (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 :dribble:

 

hehe, noen som forsto hva jeg mente :nei:

Blei litt sånn blabla, blabla, blabla ;)

Men jaja, jeg sjønte d :w00t:

 

 

Edit:

Skal poste ut scriptet om det funker ;)

Endret av Mellet
Skrevet (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 :whistle:

 

Edit: Endret hele scriptet:)

Endret av Mellet
Skrevet
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 :dribble:

 

hehe, noen som forsto hva jeg mente :nei:

Blei litt sånn blabla, blabla, blabla ;)

Men jaja, jeg sjønte d :w00t:

 

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.

Skrevet (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.. :ermm:

 

har aldri skjønt meg helt på elseif :tease:

 

Men det var jo fint!;D

 

Da kan jeg bruke d :thumbup:

 

Edit: Den eneste ulempen nå er at alle feil ikke vises på en gang..:)

Endret av Mellet
Skrevet

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.

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...