/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Rette i MySql
Fra : Morten


Dato : 20-01-08 14:57

Hejsa

Jeg har en gæstebog som benytter php med en MySql database. Jeg
har desuden en fil kaldet admlogin.php til at 'rette' i
indlæggene i gæstebogen. Det vil sige at pt. kan jeg kun slette
indlæg, men jeg ønsker at jeg kan gå ind og rette i dem.

Så hvis der f.eks. er en der har skrevet:

wwww.eksempel.dk

Altså lavet en stavefejl i linket, så kan jeg via filen
admlogin.php gå ind og rette fejlen så linket bliver brugbart, og
folk ikke for den irriterende fejl 404.

Er der nogen der kan hjælpe med en løsning jeg kan lære noget af?

Mvh. Morten

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Philip Nunnegaard (20-01-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 20-01-08 21:24

"Morten" <moddi100@hotmail.com> skrev i meddelelsen
news:47935336$0$90270$14726298@news.sunsite.dk...

> Så hvis der f.eks. er en der har skrevet:
>
> wwww.eksempel.dk
>
> Altså lavet en stavefejl i linket, så kan jeg via filen
> admlogin.php gå ind og rette fejlen så linket bliver brugbart, og
> folk ikke for den irriterende fejl 404.

Kort svar: Brug update i din sql-sætning - altså:
update [tabel] set felt1='www.eksempel.dk' where id=25 (eller hvad
ID-nummeret nu er)


Laængere svar:
På den side, hvor du skal kunne rette, kan du gentage sammeformular, som når
man indtaster en besked i gæstebogen.
Bare med den forskel, at du lige henter dataene fra databasen ind i
felterne.
En url til filen kunne være noget a la:
ret_gb.php?besked=25 (hvor 25 er id-nummeret i databasen)

i formularen bliver det noget a la:

echo "Link: <input type=\"text\" name=\"link\"
value=\"".$row["link"]."\">\n";

....osv.

I den fil, der submitter formularen (husk evt. at ændre action-parameteren
til noget andet end i den oprindelige formular) kan koden være denne:

$link = $_POST["link"];
$tekst = $_POST["tekst"];
$besked = $_POST["besked"];

$sql = "update gaestebog set link='$link', tekst='$tekst' where id=$besked";
mysql_query($sql);


Morten (21-01-2008)
Kommentar
Fra : Morten


Dato : 21-01-08 20:51

Philip Nunnegaard wrote in dk.edb.internet.webdesign.serverside.php:
> "Morten" <moddi100@hotmail.com> skrev i meddelelsen
> news:47935336$0$90270$14726298@news.sunsite.dk...
>
> > Så hvis der f.eks. er en der har skrevet:
> >
> > wwww.eksempel.dk
> >
> > Altså lavet en stavefejl i linket, så kan jeg via filen
> > admlogin.php gå ind og rette fejlen så linket bliver brugbart, og
> > folk ikke for den irriterende fejl 404.
>
> Kort svar: Brug update i din sql-sætning - altså:
> update [tabel] set felt1='www.eksempel.dk' where id=25 (eller hvad
> ID-nummeret nu er)
>
>
> Laængere svar:
> På den side, hvor du skal kunne rette, kan du gentage sammeformular, som når
> man indtaster en besked i gæstebogen.
> Bare med den forskel, at du lige henter dataene fra databasen ind i
> felterne.
> En url til filen kunne være noget a la:
> ret_gb.php?besked=25 (hvor 25 er id-nummeret i databasen)
>
> i formularen bliver det noget a la:
>
> echo "Link: <input type=\"text\" name=\"link\"
> value=\"".$row["link"]."\">\n";
>
> ....osv.
>
> I den fil, der submitter formularen (husk evt. at ændre action-parameteren
> til noget andet end i den oprindelige formular) kan koden være denne:
>
> $link = $_POST["link"];
> $tekst = $_POST["tekst"];
> $besked = $_POST["besked"];
>
> $sql = "update gaestebog set link='$link', tekst='$tekst' where id=$besked";
> mysql_query($sql);
>


Hvis jeg skal være helt ærlig, så fatter jeg faktisk stort set ikke en brik. ;)
Kunne du evt. uddybe det lidt for en newbie?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Morten (22-01-2008)
Kommentar
Fra : Morten


Dato : 22-01-08 13:58

En lille rettelse, det jeg ikke forstår/ved hvordan jeg gør er dette:

> > På den side, hvor du skal kunne rette, kan du gentage sammeformular, som når
> > man indtaster en besked i gæstebogen.
> > Bare med den forskel, at du lige henter dataene fra databasen ind i
> > felterne.

<<Jeg ved bare ikke hvordan jeg kan hente dataerne ind i felterne



> > En url til filen kunne være noget a la:
> > ret_gb.php?besked=25 (hvor 25 er id-nummeret i databasen)

<< Nemt nok



> > i formularen bliver det noget a la:
> >
> > echo "Link: <input type=\"text\" name=\"link\"
> > value=\"".$row["link"]."\">\n";
> >
> > ....osv.

<< Det er så det jeg virklig har problemer med.



Morten

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Dan Storm (22-01-2008)
Kommentar
Fra : Dan Storm


Dato : 22-01-08 15:24

Morten skrev:
> En lille rettelse, det jeg ikke forstår/ved hvordan jeg gør er dette:
>
>>> På den side, hvor du skal kunne rette, kan du gentage sammeformular, som når
>>> man indtaster en besked i gæstebogen.
>>> Bare med den forskel, at du lige henter dataene fra databasen ind i
>>> felterne.
>
> <<Jeg ved bare ikke hvordan jeg kan hente dataerne ind i felterne
>

Simpelt eksempel på udtræk (enkelt linie):
<?php

// Forbind til mysql
mysql_connect($host, $username, $password);
mysql_select_db($database);

$entry_id = $_GET["besked"];

//Hent data fra databasen
$query = mysql_query("SELECT name, link, message FROM guestbook WHERE
id='".$entry_id."'");

//Tildel variabler indhold
$name = mysql_result($query, 0, "name");
$link = mysql_result($query, 0, "link");
$message = mtsql_result($query, 0, "message");

//Sæt variablerne ind i den ønskede form
?>

<form method="post" action="etellerandet.php">
<input type="hidden" name="besked" value="<?php echo $entry_id; ?>" />
<input type="text" name="name" value="<?php echo $name; ?>" /><br />
<input type="text" name="link" value="<?php echo $link; ?>" /><br />
<textarea name="message"><?php echo $message; ?></textarea><br />
<input type="submit" name="gem" value="Gem" />
</form>

Hvis ovenstående stadig er volapyk for dig, må jeg give Nikolaj ret i at
du bør sætte dig mere ind i grundlæggende php og sql...


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Morten (22-01-2008)
Kommentar
Fra : Morten


Dato : 22-01-08 20:01


> Simpelt eksempel på udtræk (enkelt linie):
> <?php
>
> // Forbind til mysql
> mysql_connect($host, $username, $password);
> mysql_select_db($database);
>
> $entry_id = $_GET["besked"];
>
> //Hent data fra databasen
> $query = mysql_query("SELECT name, link, message FROM guestbook WHERE
> id='".$entry_id."'");
>
> //Tildel variabler indhold
> $name = mysql_result($query, 0, "name");
> $link = mysql_result($query, 0, "link");
> $message = mtsql_result($query, 0, "message");
>
> //Sæt variablerne ind i den ønskede form
> ?>
>
> <form method="post" action="etellerandet.php">
> <input type="hidden" name="besked" value="<?php echo $entry_id; ?>" />
> <input type="text" name="name" value="<?php echo $name; ?>" /><br />
> <input type="text" name="link" value="<?php echo $link; ?>" /><br />
> <textarea name="message"><?php echo $message; ?></ textarea><br />
> <input type="submit" name="gem" value="Gem" />
> </form>
>
> Hvis ovenstående stadig er volapyk for dig, må jeg give Nikolaj ret i at
> du bør sætte dig mere ind i grundlæggende php og sql...

Bestemt ikke! Det var lige det jeg ledte efter, og nu virker det!!
Mange tak for hjælpen.

Venlig hilsen
Morten

Ps. Jeg gør da mit bedste for at lære det!



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Nikolaj Svendsen (22-01-2008)
Kommentar
Fra : Nikolaj Svendsen


Dato : 22-01-08 15:04


> Hvis jeg skal være helt ærlig, så fatter jeg faktisk stort set ikke en
> brik. ;)
> Kunne du evt. uddybe det lidt for en newbie?

Måske du skal øve dig lidt i php og sql, før du begynder at lave noget som
dette.



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408191
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste