Avatar billede Slettet bruger
04. januar 2004 - 01:21 Der er 39 kommentarer og
1 løsning

Problemer ved nyhedsscript

Notice: Undefined variable: kodeord in C:\blablabla\nyhed.tilfoej.php on line 4

Notice: Undefined variable: PHP_SELF in C:\blablabla\nyhed.tilfoej.php on line 15

OG det her er hele mit script:

<HTML>
<HEAD>
<?
if($kodeord == "kodeord"){
  echo "Nyheden er tilføjet";
  include ("config.php");
  $db = mysql_connect("$server","$userid","$pw");
  mysql_select_db("$dbase",$db);
  $nyhed_dato = time();

  mysql_query("INSERT INTO web8411 (dato, overskrift, tekst) VALUES ('$nyhed_dato', '$nyhed_overskrift', '$nyhed_tekst')");

} else {
?>
<FORM METHOD=POST ACTION=<? echo $PHP_SELF; ?>>
kodeord:<BR>
<INPUT TYPE=PASSWORD NAME=kodeord><BR>
overskrift:<BR>
<INPUT TYPE=TEXT NAME=nyhed_overskrift><BR>
tekst:<BR>
<TEXTAREA NAME=nyhed_tekst>her indtastes nyheden</TEXTAREA><BR>
<INPUT TYPE=SUBMIT VALUE=skriv>
</FORM>
<?
}
?>
</BODY>
</HTML>


Nogen der kan fortælle mig fejlen?
Avatar billede googolplex Novice
04. januar 2004 - 01:26 #1
Prøv lige dette:

<HTML>
<HEAD>
<?
if($_POST['kodeord'] == "kodeord"){
  echo "Nyheden er tilføjet";
  include ("config.php");
  $db = mysql_connect("$server","$userid","$pw");
  mysql_select_db("$dbase",$db);
  $nyhed_dato = time();

  mysql_query("INSERT INTO web8411 (dato, overskrift, tekst) VALUES ('$nyhed_dato', '$nyhed_overskrift', '$nyhed_tekst')");

} else {
?>
<FORM METHOD=POST ACTION=<? echo $_SERVER['PHP_SELF']; ?>>
kodeord:<BR>
<INPUT TYPE=PASSWORD NAME=kodeord><BR>
overskrift:<BR>
<INPUT TYPE=TEXT NAME=nyhed_overskrift><BR>
tekst:<BR>
<TEXTAREA NAME=nyhed_tekst>her indtastes nyheden</TEXTAREA><BR>
<INPUT TYPE=SUBMIT VALUE=skriv>
</FORM>
<?
}
?>
</BODY>
</HTML>
Avatar billede interkriller Nybegynder
04. januar 2004 - 01:27 #2
$kodeord = $PHP_POST['kodeord'];
skal du smide ind øverst
Avatar billede Slettet bruger
04. januar 2004 - 01:31 #3
ved qooqolplex:

Notice: Undefined index: kodeord in C:\Arkiv\Claris\mortenphp\frac\nyhed.tilfoej.php on line 4

Skriver så en nyhed:

Nyheden er tilføjet
Notice: Undefined variable: nyhed_overskrift in C:\Arkiv\Claris\mortenphp\frac\nyhed.tilfoej.php on line 11

Notice: Undefined variable: nyhed_tekst in C:\Arkiv\Claris\mortenphp\frac\nyhed.tilfoej.php on line 11
Avatar billede googolplex Novice
04. januar 2004 - 01:33 #4
Sådan:

<HTML>
<HEAD>
<?
$kodeord = $_POST['kodeord'];
$nyhed_overskrift = $_POST['nyhed_overskrift'];
$nyhed_tekst = $_POST['nyhed_tekst'];

if($kodeord == "kodeord"){
  echo "Nyheden er tilføjet";
  include ("config.php");
  $db = mysql_connect("$server","$userid","$pw");
  mysql_select_db("$dbase",$db);
  $nyhed_dato = time();

  mysql_query("INSERT INTO web8411 (dato, overskrift, tekst) VALUES ('$nyhed_dato', '$nyhed_overskrift', '$nyhed_tekst')");

} else {
?>
<FORM METHOD=POST ACTION=<? echo $_SERVER['PHP_SELF']; ?>>
kodeord:<BR>
<INPUT TYPE=PASSWORD NAME=kodeord><BR>
overskrift:<BR>
<INPUT TYPE=TEXT NAME=nyhed_overskrift><BR>
tekst:<BR>
<TEXTAREA NAME=nyhed_tekst>her indtastes nyheden</TEXTAREA><BR>
<INPUT TYPE=SUBMIT VALUE=skriv>
</FORM>
<?
}
?>
</BODY>
</HTML>
Avatar billede interkriller Nybegynder
04. januar 2004 - 01:35 #5
på samme måde som $kodeord = $PHP_POST['kodeord'];
skal du også hente
$nyhed_overskrift= $PHP_POST['nyhed_overskrift'];
$nyhed_tekst= $PHP_POST['nyhed_tekst'];
Avatar billede Slettet bruger
04. januar 2004 - 01:35 #6
inden jeg submitter: Notice: Undefined index: kodeord in C:\Arkiv\Claris\mortenphp\frac\nyhed.tilfoej.php on line 4

Notice: Undefined index: nyhed_overskrift in C:\Arkiv\Claris\mortenphp\frac\nyhed.tilfoej.php on line 5

Notice: Undefined index: nyhed_tekst in C:\Arkiv\Claris\mortenphp\frac\nyhed.tilfoej.php on line 6

efter:
Nyheden er tilføjet

Så, så vidt jeg forstår skulle der gerne være tilføjet en nyhed

Men hvis jeg kigger i mysqladmin er der ikke postet noget..
Avatar billede eagleeye Praktikant
04. januar 2004 - 01:37 #7
Eller sådan her:


<HTML>
<HEAD>
<?
if (isset($_POST['kodeord']){
  if($_POST['kodeord'] == "kodeord"){
    echo "Nyheden er tilføjet";
    include ("config.php");
    $db = mysql_connect("$server","$userid","$pw");
    mysql_select_db("$dbase",$db);
    $nyhed_dato = time();

    mysql_query("INSERT INTO web8411 (dato, overskrift, tekst) VALUES ('$nyhed_dato', '".$_POST['nyhed_overskrift']."', '".$_POST['nyhed_tekst'].")");
  }
} else {
?>
<FORM METHOD=POST ACTION=<? echo $_SERVER['$PHP_SELF']; ?>>
kodeord:<BR>
<INPUT TYPE=PASSWORD NAME=kodeord><BR>
overskrift:<BR>
<INPUT TYPE=TEXT NAME=nyhed_overskrift><BR>
tekst:<BR>
<TEXTAREA NAME=nyhed_tekst>her indtastes nyheden</TEXTAREA><BR>
<INPUT TYPE=SUBMIT VALUE=skriv>
</FORM>
<?
}
?>
</BODY>
</HTML>
Avatar billede eagleeye Praktikant
04. januar 2004 - 01:39 #8
hov form tagen skal lige rettes til:

<FORM METHOD=POST ACTION=<? echo $_SERVER['PHP_SELF']; ?>>
Avatar billede Slettet bruger
04. januar 2004 - 01:39 #9
Parse error: parse error, unexpected '{' in C:\Arkiv\Claris\mortenphp\frac\nyhed.tilfoej.php on line 4

Nu er alle mine input felter væk..
Avatar billede nikolajdu Nybegynder
04. januar 2004 - 01:42 #10
if (isset($_POST['kodeord'])){


der mangler en parentes
Avatar billede eagleeye Praktikant
04. januar 2004 - 01:42 #11
det fordi linje 4 skal være:

if (isset($_POST['kodeord'])){
Avatar billede Slettet bruger
04. januar 2004 - 01:43 #12
Selvom jeg kom til at give points håber jeg i stadig vil hjælpe mig..
Avatar billede Slettet bruger
04. januar 2004 - 01:45 #13
//Før jeg submitter:
Notice: Undefined index: $PHP_SELF in C:\Arkiv\Claris\mortenphp\frac\nyhed.tilfoej.php on line 16
//efter:
Statuslinje: http://server1/mortenphp/frac/<br
Forbidden
You don't have permission to access /mortenphp/frac/<br on this server.
Avatar billede googolplex Novice
04. januar 2004 - 01:45 #14
Funker det nu ?
Avatar billede Slettet bruger
04. januar 2004 - 01:46 #15
Nixenbixen
Avatar billede eagleeye Praktikant
04. januar 2004 - 01:46 #16
Prøv lige at lave form tagen sådan her:

<FORM METHOD=POST ACTION="<? echo $_SERVER['PHP_SELF'];?>">
Avatar billede googolplex Novice
04. januar 2004 - 01:47 #17
Ja, så skulle den være der :)
Avatar billede Slettet bruger
04. januar 2004 - 01:50 #18
Nu virker det hele..

Men så vidt jeg kan se på mysql admin er der ikke kommet noget..
Men nu til et andet problem..
nyhed.vis.php:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 8

Og scriptet:

<HTML>
<BODY>
<?
include ("config.php");
$db = mysql_connect("$server","$userid","$pw");
mysql_select_db("$dbase",$db);
$foresp = mysql_query("SELECT dato, overskrift, tekst FROM web8411 ORDER BY dato DESC LIMIT 0,2");
while($data = mysql_fetch_array($foresp)){

  echo "<B>$data[1]</B> - ";
  echo date("j/n - Y", $data[0]);
  echo "<BR>$data[2]<BR><BR>";
}
?>
</BODY>
</HTML>
Avatar billede nikolajdu Nybegynder
04. januar 2004 - 01:55 #19
Hvis den ikke har indsat noget i databasen så prøv at lave din query om til :

mysql_query("INSERT INTO web8411 (dato, overskrift, tekst) VALUES ('$nyhed_dato', '".$_POST['nyhed_overskrift']."', '".$_POST['nyhed_tekst'].")") or die(mysql_error());

og fortæl gerne hvilken type felter du har i databasen.
Avatar billede Slettet bruger
04. januar 2004 - 02:05 #20
Notice: Undefined variable: nyhed_dato in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 7

Notice: Undefined index: nyhed_overskrift in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 7

Notice: Undefined index: nyhed_tekst in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 7
You have an error in your SQL syntax near '')' at line 1

Det skete ved at jeg indsatte det der..

Jeg har:
id
dato
overskrift
tekst
Avatar billede eagleeye Praktikant
04. januar 2004 - 02:07 #21
der mangler også et enkelt ' før den sidste )

mysql_query("INSERT INTO web8411 (dato, overskrift, tekst) VALUES ('$nyhed_dato', '".$_POST['nyhed_overskrift']."', '".$_POST['nyhed_tekst']."')") or die(mysql_error());
Avatar billede Slettet bruger
04. januar 2004 - 02:08 #22
Notice: Undefined variable: nyhed_dato in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 7

Notice: Undefined index: nyhed_overskrift in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 7

Notice: Undefined index: nyhed_tekst in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 7
Table 'web8411.web8411' doesn't exist

Min database hedder "web8411" og min tabel hedder "nyheder"
Hvad skal jeg ændre?
Avatar billede eagleeye Praktikant
04. januar 2004 - 02:13 #23
Så skal du ændre:

INSERT INTO web8411

Til:

INSERT INTO nyheder
Avatar billede Slettet bruger
04. januar 2004 - 02:14 #24
Notice: Undefined variable: nyhed_dato in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 7

Notice: Undefined index: nyhed_overskrift in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 7

Notice: Undefined index: nyhed_tekst in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 7

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Arkiv\Claris\mortenphp\frac\nyhed.vis.php on line 8

Jeg synes stadig der er en masse fejl? =/
Avatar billede eagleeye Praktikant
04. januar 2004 - 02:16 #25
Prøv at hele din form om til dette, dt er en god ide at bruger " omkring væriderne:

<FORM METHOD="POST" ACTION="<? echo $_SERVER['PHP_SELF'];?>">
kodeord:<BR>
<INPUT TYPE="PASSWORD" NAME="kodeord"><BR>
overskrift:<BR>
<INPUT TYPE="TEXT" NAME="nyhed_overskrift"><BR>
tekst:<BR>
<TEXTAREA NAME="nyhed_tekst">her indtastes nyheden</TEXTAREA><BR>
<INPUT TYPE="SUBMIT" VALUE="skriv">
</FORM>
Avatar billede Slettet bruger
04. januar 2004 - 02:17 #26
det er jo ikke i nyhed.tilfoej.php der er fejl men i nyhed.vis.php
Avatar billede Slettet bruger
04. januar 2004 - 02:18 #27
Jeg har fundet den lille fejl til at den ikke postede i databasen. MEn det gør den nu. Nu er det bare siden der skal vise news der er galt med
Avatar billede eagleeye Praktikant
04. januar 2004 - 02:19 #28
hmm nej ok, mine øjne er ved at være små ;)
I denne SQL skal FROM web8411 rettes til FROM nyheder sådn her

$foresp = mysql_query("SELECT dato, overskrift, tekst FROM nyheder ORDER BY dato DESC LIMIT 0,2");
Avatar billede Slettet bruger
04. januar 2004 - 02:27 #29
- 1/1 - 1970


Nu tror jeg nok det virker. Det er hvad der står på siden.. Nu skal jeg jo så bare have tilføjet nogle nyheder for at se om det virker..
Avatar billede Slettet bruger
04. januar 2004 - 02:28 #30
Jeg tror der er lidt problemer med at poste.. Det virkede fint den ene gang. Men nu sker der ikke noget hvis jeg trykker på send. Der står nyheden er tilføjet, men det er den ikke!
Avatar billede Slettet bruger
04. januar 2004 - 02:30 #31
JEg prøvede netop at skrive en nyhed inde fra mysql admin.. Der virker det fint. Bare nogle problemer med dato og sådan.. MEn er et min nyhed.tilfoej.php der ikke virker eller hvordan?
Avatar billede eagleeye Praktikant
04. januar 2004 - 02:30 #32
Men du får ikke en fejl?
Har du stadig det or die(mysql_error()); på?
Avatar billede eagleeye Praktikant
04. januar 2004 - 02:34 #33
Jeg ved ikke hvordan din insert SQL ser ud lige nu men den skal se ud i stil med dette:

mysql_query("INSERT INTO nyheder (dato, overskrift, tekst) VALUES ('$nyhed_dato', '".$_POST['nyhed_overskrift']."', '".$_POST['nyhed_tekst']."')") or die(mysql_error());
Avatar billede eagleeye Praktikant
04. januar 2004 - 02:35 #34
I den første var tabelnavnet forkert og der manglede et '
Avatar billede Slettet bruger
04. januar 2004 - 02:37 #35
Jep nu virker det.. 1.000 tak for hjælpen.. Det har været en stor hjælp.. Nu skal jeg bare lære at sætte lidt css til. Skriv endelig hvis det er noget du kan hjælpe med..
Avatar billede eagleeye Praktikant
04. januar 2004 - 02:38 #36
Det lyder godt ;)
Nej det ikke noget jeg kan hjælpe med, du må havde fat i en anden til at lave css.
Godnat og sov godt nu må jeg hellere komme i seng.
Avatar billede eagleeye Praktikant
04. januar 2004 - 02:39 #37
lave  --> hjælpe med  :)
Avatar billede Slettet bruger
04. januar 2004 - 02:41 #38
hehe okay så..
Hvis du stadig er på så vil jeg lige spørge om hvordan jeg kan gøre sådan at når jeg har skrevet en nyhed og der står Nyheden er tilføjet at der en linje nedenunder kommer et link som hedder Tilbage.. som går tilbage til index.php??
Avatar billede eagleeye Praktikant
04. januar 2004 - 02:43 #39
Du kan vel tilføje en linje som denne

echo "<br><a href=\"index.php\">Tilbage..</a>";
Avatar billede Slettet bruger
04. januar 2004 - 02:45 #40
Tak det var det hele :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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