Avatar billede da9el Nybegynder
19. maj 2004 - 14:10 Der er 9 kommentarer og
1 løsning

Rediger funktion i arikel system

Hej jeg har et artikel system udfra webcafe.dk gæstebog men jeg vil gerne kunne redigere i artiklerne. Jeg kan vist godt lave linket selv men har lidt problemer med selv koden. Her er noget jeg har forsøgt og lave, men det virker ikke.

<?php
require("./gbog-ting/mysql-funktioner.php");
require("./gbog-ting/design-funktioner.php");
require("./gbog-ting/indstillinger.php");

$id = addslashes($_GET['id']);
$sql = "select id, navn, epost, overskrift, date_format(tid, '%e/%c %Y') as tiden, besked from gaestebog where id = '$id' order by tid desc limit 1";

aabn_forbindelse_og_vaelgdb();
$resultat = sql_spoerg_og_faa_svar($sql);
luk_forbindelse();

extract($resultat[0]);

?>


<form action="gemrediger.php" method="post">
<table border="0" cellpadding="5" cellspacing="0">
<tr><td align="right"><strong>Navn:</strong></td><td><input type="text" name="navn" value=<?php echo $navn; ?> size="30" maxsize="100"></td></tr>
<tr><td align="right"><strong>Overskrift:</strong></td><td><input type="text" name="overskrift" value=<?php echo $overskrift; ?> size="30" maxsize="100"></td></tr>
<tr><td align="right" valign="top"><strong>Artikel:</strong></td><td><textarea cols="30" rows="8" name="besked" value=<?php echo $besked; ?></textarea></td></tr>
<tr><td></td><td><input type="submit" value="Skriv!"></td></tr>
</table>
</form>


<?php

echo bund();

?>

Har selv en ide om det kan være noget med gemrediger.php .

Daniel
Avatar billede Slettet bruger
19. maj 2004 - 14:11 #1
Hvordan ser din gemrediger.php fil ud ?
Avatar billede da9el Nybegynder
19. maj 2004 - 14:14 #2
<?php

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

if(is_array($HTTP_POST_VARS)) {
  $navn = $HTTP_POST_VARS['navn'];
  $epost = $HTTP_POST_VARS['epost'];
  $overskrift = $HTTP_POST_VARS['overskrift'];
  $besked = $HTTP_POST_VARS['besked'];
  $artikelid = $HTTP_POST_VARS['artikelid'];
} elseif (is_array($_POST)) {
  $navn = $_POST['navn'];
  $epost = $_POST['epost'];
  $overskrift = $_POST['overskrift'];
  $besked = $_POST['epost'];
  $artikelid = $_POST['artikelid'];
}

function gbog_fejl($fejl) {

    $generel_tekst = "<p>V&aelig;r venlig at g&aring; tilbage og ret til.</p>";

    $fejlmelding = "<ul>";

    for($i=0;$i<count($fejl);$i++) {
        $fejlmelding .= "<li>". $fejl[$i];
    }

    $fejlmelding .= "</ul>";

    echo top("Fejl") . "G&aelig;stebogen brokkede sig lidt over dit input:" . $fejlmelding . $generel_tekst . bund();
    exit;

}

function skriv_i_gbog($navn, $epost, $overskrift, $besked) {
   
    $ip = getenv('REMOTE_ADDR');

    $sql = "insert into gaestebog(navn,epost,overskrift,besked,ip,tid)
        values('$navn','$epost','$overskrift','$besked','$ip',now())"
          "insert into kommentarer(artikelid)
        values('$artikelid')";

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

}

if(!ereg("[A-z0-9]+", $navn)) {

    $fejl[] = "Du har ikke skrevet dit navn";

}

if(!ereg("[A-z0-9]+", $besked)) {

    $fejl[] = "Du har ikke skrevet nogen besked";

}

if(!ereg("[A-z0-9]+", $besked)) {

    $fejl[] = "Du har ikke skrevet nogen Overskrift";

}

if(count($fejl) > 0) {
    gbog_fejl($fejl);
}

skriv_i_gbog(addslashes($navn),addslashes($epost),addslashes($overskrift),addslashes($besked),addslashes($artikelid));

/*
* Så er skidtet banket i databasen og vi sender folk videre til selve gBogen
* hvor de kan se deres eget indlæg.
*/

header("Location: gbog.php");

?>
Avatar billede Slettet bruger
19. maj 2004 - 14:23 #3
Det er klart at den ikke kan gemme nogle ændringer. Du opdatere ikke den enkelte artikel. Ligesom når du opretter en artikel, skal du have en funktion der opdatere den enkelte artikel.
Avatar billede da9el Nybegynder
19. maj 2004 - 14:25 #4
Hvordan det???

Er ikke lige specielt god til PHP.
Avatar billede dugi Nybegynder
21. maj 2004 - 12:02 #5
function rediger_i_gbog($navn, $epost, $overskrift, $besked) {
   
    $ip = getenv('REMOTE_ADDR');

    $sql = "UPDATE gaestebog set navn = '$navn', epost = '$epost', overskrift = '$overskrift', besked = '$beksed' WHERE id = '$_GET["id"]'";

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


Noget i den stil! =)
Avatar billede da9el Nybegynder
23. maj 2004 - 11:43 #6
Gem siden bliver bare hvid:(
Avatar billede da9el Nybegynder
24. maj 2004 - 21:50 #7
Den bliver som sagt bare hvid, kan i finde ud af hvad der er galt med den, eller evt. finde fejl??

-Daniel
Avatar billede da9el Nybegynder
24. maj 2004 - 21:51 #8
Her er koden:

<?php

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

/*
* Foerst napper vi variablerne fra miljoet.
*/

if(is_array($HTTP_POST_VARS)) {
  $navn = $HTTP_POST_VARS['navn'];
  $epost = $HTTP_POST_VARS['epost'];
  $overskrift = $HTTP_POST_VARS['overskrift'];
  $besked = $HTTP_POST_VARS['besked'];
} elseif (is_array($_POST)) {
  $navn = $_POST['navn'];
  $epost = $_POST['epost'];
  $overskrift = $_POST['overskrift'];
  $besked = $_POST['epost'];
}


/*
* Her er en simpel funktion der spytter en fejlmelding ud.
* Den bruger vi senere, når vi checker, at folk har skrevet noget i formularen.
*/

function gbog_fejl($fejl) {

    $generel_tekst = "<p>V&aelig;r venlig at g&aring; tilbage og ret til.</p>";

    $fejlmelding = "<ul>";

    for($i=0;$i<count($fejl);$i++) {
        $fejlmelding .= "<li>". $fejl[$i];
    }

    $fejlmelding .= "</ul>";

    echo top("Fejl") . "G&aelig;stebogen brokkede sig lidt over dit input:" . $fejlmelding . $generel_tekst . bund();
    exit;

}

/*
* Denne funktion skriver i gæstebogen - altså i databasen.
* Bemærk, at vi ikke bruger PHP til at indsætte tiden, men
* bruger MySQLs indbyggede funktion now().
*/

function rediger_i_gbog($navn, $epost, $overskrift, $besked) {
   
    $ip = getenv('REMOTE_ADDR');

    $sql = "UPDATE gaestebog set navn = '$navn', epost = '$epost', overskrift = '$overskrift', besked = '$besked' WHERE id = '$_GET["id"]'";

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

/*
* Vi laver lidt simpelt fejlcheckeri og ser, om der overhovedet
* er skrevet noget. Hvis ikke, bruger vi fejlfunktionen til at brokke os.
* Fejlfunktionen slutter med "exit", der sørger for, at PHP stopper.
*/

if(!ereg("[A-z0-9]+", $navn)) {

    $fejl[] = "Du har ikke skrevet dit navn";

}

if(!ereg("[A-z0-9]+", $besked)) {

    $fejl[] = "Du har ikke skrevet nogen besked";

}

if(!ereg("[A-z0-9]+", $besked)) {

    $fejl[] = "Du har ikke skrevet nogen Overskrift";

}

if(count($fejl) > 0) {
    gbog_fejl($fejl);
}

/*
* Hvis vi er nået hertil, så står der i det mindste et eller andet i felterne og vi
* knalder det i databasen med funktionen skriv_i_gbog().
* Vi escaper alle fyfy-tegn med addslashes(). Når vi senere præsenterer indholdet
* af gBogen bruger vi stripslashes() til at "afkode".
*
* Alt dette besvær er til for at folk ikke skal snige ondsindede SQL-kommandoer
* ind i deres indlæg. Nyere versioner af PHP gør alt dette automatisk,
* men vi kan godt li' at være på den sikre side.
*/

rediger_i_gbog(addslashes($navn),addslashes($epost),addslashes($overskrift),addslashes($besked));

/*
* Så er skidtet banket i databasen og vi sender folk videre til selve gBogen
* hvor de kan se deres eget indlæg.
*/

header("Location: ../gbog.php");

/*
* Skal der sendes epost til administratoren?
*
* Bemærk, at vi godt kan gøre dette selv om folk er sendt videre til gBogen.
* Der er ingen grund til at gæsterne skal vente på, at der bliver sendt
* post - derfor kommer det først allersidst.
*/

if($epost_p == "t") {

  $ip = getenv('REMOTE_ADDR');
  $epostens_indhold = "$navn har skrevet denne besked fra IP-adressen $REMOTE_ADDR:\n-----------------------------------------------------\n\n$besked";

  mail($admin_epost, "Der er skrevet i din gBog!", $epostens_indhold);

}

?>
Avatar billede da9el Nybegynder
06. juni 2004 - 22:01 #9
Har i nogle ider om hvad jeg skal gøre??
Avatar billede da9el Nybegynder
07. juni 2004 - 19:32 #10
Når jeg lukker!!
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