Avatar billede prop46 Nybegynder
08. maj 2003 - 13:02 Der er 30 kommentarer og
1 løsning

update af nyhed

Jeg har et scrip så jeg kan slette indlæg på min nyhedsside. Kan jeg forholdsvist simpelt omskrive dette så jeg også kan opdaterer?

<?php

require("../mysql-ting/mysql-funktioner.php");

if(is_array($HTTP_GET_VARS)) {
  $id = $HTTP_GET_VARS['id'];
  $start_nr = $HTTP_GET_VARS['start_nr'];
} elseif (is_array($_GET)) {
  $id = $_GET['id'];
  $start_nr = $_GET['start_nr'];
}

$sql = "delete from bnyhed where id = $id";

aabn_forbindelse_og_vaelgdb();
sql_spoerg($sql);
luk_forbindelse();

header("Location: nyhedAdmin.php?start_nr=$start_nr");

?>
Avatar billede prop46 Nybegynder
08. maj 2003 - 13:25 #1
Scriptet kaldes herfra:

<table cellpadding="0" cellspacing="0">
    <tr>
        <td>
            <p><input type="text" name="overskrift" size="20" value="<?php echo $overskrift; ?>"></p>
        </td>
        <td>
            <p><input type="text" name="tid" size="20" value="<?php echo $tid; ?>"></p>
        </td>
        <td>
            <p><input type="text" name="nyhed" size="20" value="<?php echo $nyhed; ?>"></p>
        </td>
        <td>
            <p>&nbsp;&nbsp;<a href="<?php echo "slet.php?id=$id&start_nr=$start_nr"; ?>">slet</a>&nbsp;|</p>
        </td>
        <td>
            <p>&nbsp;<a href="<?php echo "ret.php?id=$id&start_nr=$start_nr"; ?>">ret</a></p>
        </td>
    </tr>
</tabel>
Avatar billede prop46 Nybegynder
08. maj 2003 - 13:43 #2
Har fundet dette frem

$sql = "UPDATE bnyhed SET overskrift = '$overskrift', nyhed = '$nyhed' WHERE id = $id";

Men den tømmer bare felteren.... Der må vist være noget jeg ikke lige tænker på :0)
Avatar billede sone Nybegynder
08. maj 2003 - 13:44 #3
$sql = "UPDATE bnyhed SET nyhed='$nyhed', overskrift='$overskrift' WHERE id=$id";
Avatar billede sone Nybegynder
08. maj 2003 - 13:46 #4
Hvis den tømmer felterne, så er variablerne $overskrift og $nyhed tomme.
echo $sql - så kan du se hvad databasen modtager
evt. udkommenter DB-kaldet
Avatar billede prop46 Nybegynder
08. maj 2003 - 13:48 #5
Jo men... hvis jeg blot retter teksten i min tabel og trykker "ret"... så er feltet jo ikke tomt? Jeg tror du må forklere det lidt mere :0)
Avatar billede sone Nybegynder
08. maj 2003 - 13:50 #6
For at $id har en værdi, så laver du:
$id = $HTTP_GET_VARS['id'];

Det samme skal du jo gøre med $nyhed osv.
Avatar billede prop46 Nybegynder
08. maj 2003 - 13:55 #7
har jeg gjort nu.. men det virker stadig ikke.
Avatar billede sone Nybegynder
08. maj 2003 - 14:01 #8
vis lige kodestump
Avatar billede prop46 Nybegynder
08. maj 2003 - 14:02 #9
<?php

require("../mysql-ting/mysql-funktioner.php");

if(is_array($HTTP_GET_VARS)) {
  $id = $HTTP_GET_VARS['id'];
  $overskrift = $HTTP_GET_VARS['overskrift'];
  $nyhed = $HTTP_GET_VARS['nyhed'];
  $start_nr = $HTTP_GET_VARS['start_nr'];
} elseif (is_array($_GET)) {
  $id = $_GET['id'];
  $overskrift = $_GET['overskrift'];
  $nyhed = $_GET['nyhed'];
  $start_nr = $_GET['start_nr'];
}

$sql = "UPDATE bnyhed SET overskrift = '$overskrift', nyhed = '$nyhed' WHERE id = $id";


aabn_forbindelse_og_vaelgdb();
sql_spoerg($sql);
luk_forbindelse();

header("Location: nyhedAdmin.php?start_nr=$start_nr");

?>
Avatar billede sone Nybegynder
08. maj 2003 - 14:18 #10
Sender du din form som POST - så er det derfor...
Avatar billede prop46 Nybegynder
08. maj 2003 - 14:30 #11
min form på ovenstående side ? Hvor min tabel er på?
Avatar billede sone Nybegynder
08. maj 2003 - 14:34 #12
JA
Avatar billede prop46 Nybegynder
08. maj 2003 - 14:48 #13
ja undskyld hvis jeg ikke forstår, men jeg bruger jo ikke nogen submitknap når jeg trykker på "ret" men et link....
Avatar billede prop46 Nybegynder
08. maj 2003 - 15:00 #14
Er det følgende du tænker på?

<form action="<?php echo "ret.php?id=$id&start_nr=$start_nr"; ?>" method="GET">
    <table cellpadding="0" cellspacing="0">
        <tr>
            <td>
                <p><input type="text" name="overskrift" size="20" value="<?php echo $overskrift; ?>"></p>
            </td>
            <td>
                <p><input type="text" name="tid" size="20" value="<?php echo $tid; ?>"></p>
            </td>
            <td>
                <p><input type="text" name="nyhed" size="20" value="<?php echo $nyhed; ?>"></p>
            </td>
            <td>
                <p>&nbsp;&nbsp;<a href="<?php echo "slet.php?id=$id&start_nr=$start_nr"; ?>">slet</a>&nbsp;|</p>
            </td>
            <td>
                <p>&nbsp;<input type="submit" value="ret" class="submit"></p>
            </td>
        </tr>
    </tabel>
</form>
Avatar billede sone Nybegynder
08. maj 2003 - 15:36 #15
Link... det er da en knap:
<input type="submit" value="ret" class="submit">
Avatar billede prop46 Nybegynder
08. maj 2003 - 17:14 #16
Jeg har lige ændret det ......
Avatar billede sone Nybegynder
08. maj 2003 - 17:21 #17
Hjalp det?
Avatar billede prop46 Nybegynder
08. maj 2003 - 17:32 #18
nope
Avatar billede prop46 Nybegynder
08. maj 2003 - 17:35 #19
OKay.... for at starte ved begyndelsen. Jeg har nyhedAdmin.php hvor data ud af databasen og sætter det ind i denne tabel:

<table cellpadding="10" cellspacing="0">
    <tr>
        <td align="center" valign="top" class="main">
            <table cellpadding="0" cellspacing="0">
                <tr>
                    <td>
                        <p><input type="text" name="overskrift" size="20" value="<?php echo $overskrift; ?>"></p>
                    </td>
                    <td>
                        <p><input type="text" name="tid" size="20" value="<?php echo $tid; ?>"></p>
                    </td>
                    <td>
                        <p><input type="text" name="nyhed" size="20" value="<?php echo $nyhed; ?>"></p>
                    </td>
                    <td>
                        <p>&nbsp;&nbsp;<a href="<?php echo "slet.php?id=$id&start_nr=$start_nr"; ?>">slet</a>&nbsp;|</p>
                    </td>
                    <td>
                        <p>&nbsp;<a href="<?php echo "ret.php?id=$id&start_nr=$start_nr"; ?>">ret</a></p>
                    </td>
                </tr>
            </tabel>
        </td>
    </tr>
</table>

--------------------------------------------

ret.php

<?php

require("../mysql-ting/mysql-funktioner.php");

if(is_array($HTTP_GET_VARS)) {
  $id = $HTTP_GET_VARS['id'];
  $overskrift = $HTTP_GET_VARS['overskrift'];
  $nyhed = $HTTP_GET_VARS['nyhed'];
  $start_nr = $HTTP_GET_VARS['start_nr'];
} elseif (is_array($_GET)) {
  $id = $_GET['id'];
  $overskrift = $_GET['overskrift'];
  $nyhed = $_GET['nyhed'];
  $start_nr = $_GET['start_nr'];
}

$sql = "UPDATE bnyhed SET nyhed='$nyhed', overskrift='$overskrift' WHERE id=$id";


aabn_forbindelse_og_vaelgdb();
sql_spoerg($sql);
luk_forbindelse();

header("Location: nyhedAdmin.php?start_nr=$start_nr");

?>
Avatar billede sone Nybegynder
08. maj 2003 - 17:35 #20
Så er der kun go' gammel debugging til bage. Lav en
  echo $nyhed;
og flyt den fra sted til sted for at se hvor den eksisterer og hvor den ikke gør.

Kan du se variablerne oppe i URL'en?
Avatar billede sone Nybegynder
08. maj 2003 - 17:36 #21
Du SKAL have en FORM omkring dine INPUT - ellers virker ikke!
Avatar billede prop46 Nybegynder
08. maj 2003 - 17:37 #22
Men.... hvorfor virker slet.php ?
Avatar billede prop46 Nybegynder
08. maj 2003 - 17:40 #23
slet.php

<?php

require("../mysql-ting/mysql-funktioner.php");

if(is_array($HTTP_GET_VARS)) {
  $id = $HTTP_GET_VARS['id'];
  $start_nr = $HTTP_GET_VARS['start_nr'];
} elseif (is_array($_GET)) {
  $id = $_GET['id'];
  $start_nr = $_GET['start_nr'];
}

$sql = "delete from bnyhed where id = $id";

aabn_forbindelse_og_vaelgdb();
sql_spoerg($sql);
luk_forbindelse();

header("Location: nyhedAdmin.php?start_nr=$start_nr");

?>
Avatar billede prop46 Nybegynder
08. maj 2003 - 17:45 #24
Og hvorfor skal jeg have en form  når jeg ikke skal bruge en action til noget?

I'm a pain... I know :0)
Avatar billede sone Nybegynder
08. maj 2003 - 17:47 #25
Sådan fungerer web/HTML/HTTP:
For at undsende værdier til en webserver via INPUT-felter, så skal de være inde i en FORM - sådan er det bare.
Avatar billede sone Nybegynder
08. maj 2003 - 17:49 #26
indsende...
Avatar billede prop46 Nybegynder
08. maj 2003 - 17:52 #27
Kunne ikke udføre: UPDATE bnyhed SET nyhed='testtest', overskrift='test' WHERE id=
Fejlen er: You have an error in your SQL syntax near '' at line 1
Avatar billede sone Nybegynder
08. maj 2003 - 17:59 #28
Du skal have ID værdier med over.
Lav evt. en INPUT med type=hidden - så er den usynlig.
Avatar billede prop46 Nybegynder
08. maj 2003 - 18:05 #29
Det... det.... det virker squ !!

Så slet.php virker som link fordi jeg IKKE henter noget med men bare sletter en række i DB'en ?
Avatar billede sone Nybegynder
08. maj 2003 - 18:20 #30
Jep - fordi du ikke skal have nye data (kun eksisterende dat, f.eks. id) med til næste side.
Avatar billede prop46 Nybegynder
08. maj 2003 - 18:22 #31
takker.... Her har du lidt velfortjente point :0)
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

IT-JOB

Det Nationale Forskningscenter for Arbejdsmiljø

IT-sikkerhedsspecialist med fokus på AI inden for forskning

Politiets Efterretningstjeneste

DevOps engineer til dataanalyse i PET

Politiets Efterretningstjeneste

GenAI-specialist i PET