Avatar billede pbg Nybegynder
21. januar 2005 - 11:18 Der er 4 kommentarer

Database opdaterer ikke ved nyhedsedit

Jeg har lavet en edit funktion til en nyhedsside. Når jeg så har rettet det jeg ville og trykker "opdater", udfører den ikke rettelsen. Den retunerer bare til nyhedssiden.
Hvor fand... er det galt...

Dette er mit start edit php:

<style>
<br>BODY { scrollbar-3d-light-color:#000000;
<br>scrollbar-arrow-color:#FF0000;
<br>scrollbar-base-color:black;
<br>scrollbar-dark-shadow-color:#444444;
<br>scrollbar-face-color:#444444;
<br>scrollbar-highlight-color:#ff0000;
<br>scrollbar-shadow-color:black}
<br></style>

</head>

<?
include('../db.php');

if( isset( $_GET['id'] ) )
  $id = $_GET['id'];
else
  $id = null;


if( $id !== null ) {
  $resultat = mysql_query("select * FROM nyhedsys WHERE id = '$id'");
  $raekke = mysql_fetch_array($resultat);
  if( $raekke == null )
    die("Fandt ikke nyheden");
?>

<body leftmargin="50" background="../../Images/SIDE_RED.jpg">

<form action="edit_nyhed_sql.php" method="post">
<input type="hidden" value="<? echo $raekke[id] ?>" name="id"> 
Overskrift:<br>
<input type="text" value="<? echo"$raekke[headline]" ?>" name="headline"><br>
<br>
Nyhed:<br> <textarea name="news" rows="10" cols="35"><? echo"$raekke[news]" ?></textarea></b></p>
<br>
<input type=submit value="Opdater" name="submit" >
</form>
<?php
}
else {
  $sql = "SELECT id, headline FROM nyhedsys ORDER BY headline";
  $res = mysql_query($sql) or die(mysql_error());
  while($row = mysql_fetch_array($res)) {
    print '<a href="edit_nyhed.php?id=' . $row[0] . '">'.
      stripslashes($row[1]). '</a><br />';
  }
}
?>



Jeg bruger dette til at sende til sql databasen.

<html>
<head>
<meta http-equiv="refresh" content="1;url=best_omr.php">
<?
include ('../db.php');

$headline = addslashes($_POST[headline]);
$news = addslashes($_POST[news]);


mysql_query("UPDATE nyhedsys SET headline='$headline',news='$news' WHERE id='$_GET[id]' ") or die(mysql_error());


?>
</head>
</html>
Avatar billede dennismp Nybegynder
21. januar 2005 - 12:02 #1
mysql_query("UPDATE nyhedsys SET headline='$headline',news='$news' WHERE id='$_GET[id]' ") or die(mysql_error());

Jeg tror du skal bruge $_POST istedet for $_GET ?
Avatar billede cybermike Nybegynder
23. januar 2005 - 13:40 #2
Nej du skal ikke bruge POST/GET, hold dig til $_REQUEST saa undgaar du den slags fejl!
Avatar billede dennismp Nybegynder
23. januar 2005 - 14:23 #3
Hvorfor? Hvis man laver en fejl, vil det altid være en fejl.

At bruge $_REQUEST fordi man ikke er sikker på om man bruger POST eller GET i en form er da noget slamkode. Hvis man ved at det kun kommer ind via POST, så hent det da via $_POST. $_REQUEST smager lidt af register-globals, imho.

Og da $_REQUEST indeholder $_GET/$_POST/$_COOKIE mener jeg, kan det give anledning til andre fejl alligevel.
Avatar billede pbg Nybegynder
28. februar 2005 - 09:29 #4
Det var post der virkede...
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