Avatar billede dimmu Nybegynder
08. maj 2003 - 10:37 Der er 5 kommentarer og
2 løsninger

Hvorfor hel.... smider den tomme felter ind ....

Lige så snart jeg går ind på siden sætter den et tomt felt ind, men ellers virker det fint





<?
    //include("common.php");
   
    //include("html_top.php");
    include("../universal/connect.php");
?>

<html>
<head><title>news</title></head>
<body>

<?


mysql_query("INSERT INTO news (news_overskrift , news_indhold , news_kilde)
VALUES ('$_POST[overskrift]','$_POST[indhold]','$_POST[kilde]')");
?>
<center>
<FORM METHOD="POST" ACTION="<? echo $PHP_SELF;?>">
<INPUT TYPE=hidden NAME=skriv VALUE=1>
Overskrift<INPUT TYPE=text NAME=overskrift><br>
Indhold:<INPUT TYPE=text NAME=indhold><br>
Kilde:<INPUT TYPE=text NAME=kilde><br>
<INPUT TYPE=submit VALUE="Send">
</form>


</center>
</body>
</html>
Avatar billede fri-hash Nybegynder
08. maj 2003 - 10:42 #1
det er fordi du udfører din query betingelsesløst og når du går ind på siden, er $_POST tom

ret
mysql_query("INSERT INTO news (news_overskrift , news_indhold , news_kilde)
VALUES ('$_POST[overskrift]','$_POST[indhold]','$_POST[kilde]')");

til
if(isset($_POST[overskrift])){
  mysql_query("INSERT INTO news (news_overskrift , news_indhold , news_kilde)
  VALUES ('$_POST[overskrift]','$_POST[indhold]','$_POST[kilde]')");
}

overvej desuden en kontrol af at de øvrige felter også er udfyldt, så folk ikke bare skriver en overskrift og lader de øvrige felter tomme og trykker "send"
Avatar billede jamal_s Nybegynder
08. maj 2003 - 10:56 #2
eller:

if(isset($_POST[overskrift])){

til:

if(isset($_POST[overskrift], $_POST[indhold], $_POST[kilde])){
Avatar billede dimmu Nybegynder
08. maj 2003 - 10:57 #3
Ok cool der virker næsten perfekt..  det eneste nu er bare at hvis man trykker update så smider den det ind igen..
Avatar billede jamal_s Nybegynder
08. maj 2003 - 11:01 #4
du kan bare redirecte til en anden side efter den har sat alt i databasen ?
Avatar billede dimmu Nybegynder
08. maj 2003 - 11:19 #5
jaa joo men (sikkert et dumt ? )hvordan.
<FORM METHOD="POST" ACTION=index.php>  så kommer der jo ik så meget...
Avatar billede fri-hash Nybegynder
08. maj 2003 - 11:29 #6
hvis du vil beholde din filstruktur med databaseindsættelses-script i samme fil som datavisning, kan du lave din fil om til følgende:


<?
    //include("common.php");
   
    //include("html_top.php");
    include("../universal/connect.php");

if(isset($_POST[overskrift])){
  mysql_query("INSERT INTO news (news_overskrift , news_indhold , news_kilde)
  VALUES ('$_POST[overskrift]','$_POST[indhold]','$_POST[kilde]')");
 
  header("location: ". $PHP_SELF);
}
?>

<html>
<head><title>news</title></head>
<body>


<center>
<FORM METHOD="POST" ACTION="<? echo $PHP_SELF;?>">
<INPUT TYPE=hidden NAME=skriv VALUE=1>
Overskrift<INPUT TYPE=text NAME=overskrift><br>
Indhold:<INPUT TYPE=text NAME=indhold><br>
Kilde:<INPUT TYPE=text NAME=kilde><br>
<INPUT TYPE=submit VALUE="Send">
</form>


</center>
</body>
</html>
Avatar billede dimmu Nybegynder
08. maj 2003 - 12:57 #7
Super      tak for hjælpen begge 2
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester