CMS System

Tags:    php

<< < 12 > >>
Jeg har skal lave et admin login hvor jeg kan rette i nogle nyheds artikler. Jeg har mit nyhed system her fra:

http://www.webcafe.dk/artikler/php/phpmysqlgaestebog/

Nederst på siden står der at man kan lave et admin system og at man skal kikke på denne her hjemmeside: www.php.net/ereg

Men selvom jeg har kikket rimelig godt efter så kan jeg ikke finde det.

Nogle der kan hjælpe??

Daniel



17 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato

Nederst på siden står der at man kan lave et admin system og at man skal kikke på denne her hjemmeside: www.php.net/ereg

Nej det står der ikke... Et citat 'Brug PHPs regulære udtryk til at checke inputtet lidt bedre - for eksempel epost-adresser', hvor der så er et link til http://php.net/ereg!
Hvis du vil lave et admin system, skal du bare have et link der henter ID nummeret for den pågældende besked:
Fold kodeboks ind/udKode 

I rediger.php skal du bare have en mysql_query som henter oplysninger ind i en form, hvor der er samme ID som det i URL.... (WHERE ID = $_GET[id])
Så skal du bare have lavet en knap som opdater. Det er nemt gjort med UPDATE, som du kan kalde frem via en mysql_query();!
Det er i sig selv meget nemt, men det vil da være en fordel at kunne noget PHP/MySQL, og ikke bare copy/paster fra en artikel :)
Hilsen CHadi
Mit lykketal er 2959

[Redigeret d. 31/03-04 18:03:56 af CHadi]



Det kan godt være jeg er lidt skod til php. Men hvad skal der stå i rediger.php filen??

Daniel


[Redigeret d. 31/03-04 18:46:36 af Daniel Skov Jensen]



Et hurtigt eksempel hvordan det KAN se ud...
Fold kodeboks ind/udKode 

Det er ikke testet!.... OG som sagt er det lige hurtigt lavet, så det er nok ikke det bedste. Men du kan selv gøre det bedre ;)
Hilsen CHadi
Mit lykketal er 2959



Ok skal den tilføjes i mysql?? hvis havd skal der så stå???
Daniel



Ok skal den tilføjes i mysql?? hvis havd skal der så stå???
Daniel

Øhh.. nej.. det skal den ikke.. du skal bare indsætte den i din rediger.php ...
og husk at skrive rediger.php?id=<?=$id;?> i dit link.. eller hvad nu den variabel, som du trækker ID'et ud fra, hedder
Hilsen CHadi
Mit lykketal er 2959



Min kode ser sådan ud hvor skal jeg sætte linket ind og skal det ikke hedde noget andet når det er php??


<?php

#####################################################################
# #
# Dette er en simpel gæstebog, stillet til rådighed af webcafe.dk #
# Skidtet er klampret sammen af claus@webclaus.com #
# #
# Gennemgang af kode samt installationsvejledning finder du på: #
# #
# http://webcafe.dk/artikler/php/phpmysqlgaestebog/ #
# #
#####################################################################

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

#
# Vi skal have fat i vores variabler, uanset hvilken version af PHP der bruges
#

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

#
# Når folk kigger på gBogen første gang har de ikke noget $start_nr, så vi giver dem et nul,
# så de starter med det nyeste indlæg.
# Hvis en skuummel gæst selv prøver at sætte $start_nr kan den ende med at blive under nul,
# når man bruger navigationen. Hvis den er under nul laver vi den også om til nul, så
# mysql ikke begynder at brokke sig over ugyldigt input
#

if(!$start_nr || $start_nr < 0) {
$start_nr = 0;
}


#
# Udskriver den første stump HTML***(Overskrift)
#
echo top("Artikler");


#
# Vi henter to ting ud af MySQL - først og fremmest alle de indlæg vi skal kigge på
# men også en hurtig optælling af, hvor mange indlæg der er ialt. Det sidste skal vi
# bruge når vi bygger "frem"- og "tilbage"-links.
#
# Der er ingen grund til at åbne databasen endnu - vi skal først lige have bygget
# de to forespørgsler.
#

$sql = "select id, navn, epost, date_format(tid, '%e/%c %Y') as tiden, besked from gaestebog order by tid desc limit $start_nr, $antal_ad_gangen";
$taeller_sql = "select count(*) as antal from gaestebog";

#
# Nu åbner vi databasen, hiver informationerne ud og lukker med det samme igen.
# Det er god skik at en forbindelse til database ikke er åben længere end højst nødvendigt.
#
# Abstraktionerne fra mysql-funktioner.php sørger for alt det grove arbejde og fejlhåndtering - dejligt.
#

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

#
# Så går vi igang med at bygge navigationen
# Først bruger vi extract til at få $antal ud til behandling.
# Vi looper ikke igennem resultatet, da vi ved der kun er een række,
# så vi tilgår den direkte ved $optaelling[0].
#

extract($optaelling[0]);

#
# Skal der laves et links til flere indlæg?
#

if($antal > ($start_nr + $antal_ad_gangen)) {

$naeste_start_nr = $start_nr + $antal_ad_gangen;
$naeste_nav = "<a href=\\"$PHP_SELF?start_nr=$naeste_start_nr\\">Næste</a>";

} else {

$naeste_nav = "<span class=\\"doedt-link\\">Næste</span>";

}

#
# Skal der laves link til forrige indlæg?
#

if($start_nr > 0 && ($start_nr - $antal_ad_gangen) < $antal) {

$forrige_start_nr = $start_nr - $antal_ad_gangen;
$forrige_nav = "<a href=\\"$PHP_SELF?start_nr=$forrige_start_nr\\">Forrige</a>";

} else {

$forrige_nav = "<span class=\\"doedt-link\\">Forrige</span>";

}

#
# Her sætter vi det hele sammen i en tabel vi kan bruge til at sætte ind på siden.
#

$nav = "<table width=\\"$tabel_bredde\\" border=\\"0\\" cellpadding=\\"5\\" cellspacing=\\"0\\">
<tr><td align=\\"left\\" width=\\"33%\\">$forrige_nav</td>
<td align=\\"center\\" width=\\"34%\\"><a href=\\"skriv.php\\">Skriv</a></td>
<td align=\\"right\\" align=\\"33%\\">$naeste_nav</td></tr>
</table>";

#
# Og skriver tabellen ud med det samme:
#

echo "$nav <p />";

#
# Her begynder det egentlig interesante - vi looper os igennem de enkelte indlæg
# og skriver dem ud til skærmen.
#
# Hvis forespørgslen ikke har returneret nogle resultater, springer vi alt dette over.
#

if(count($resultat) < 1) {

echo "Der er ingen indlæg i gBogen";

} else {

for($i=0;$i<count($resultat);$i++) {

#
# Med extract får vi smidt værdierne i variabler
#

extract($resultat[$i]);

#
# Vi brugte addslashes() da vi lagde tingene i databasen så for at få det til
# at se læseligt ud, fjerne vi dem igen med stripslashes()
#

$besked = stripslashes($besked);
$navn = stripslashes($navn);
$epost = stripslashes($epost);

#
# Hvis der ikke må bruges HTML fjerner vi lige alle tags med htmlentities()
#

if($html_p != "t") {
$navn = htmlentities($navn);
$epost = htmlentities($epost);
$besked = htmlentities($besked);
}

#
# For at vi får linjeskift i HTML også, bruger vi nl2br til at skifte alle \\n
# ud med <br>

$besked = nl2br($besked);

#
# Vi laver et simpelt check: Hvis eposten indeholder et snabel-a, så laver
# vi det til en mailto:
#
# Dette er dog ingen garanti for, at eposten er gyldig.
#

if(ereg("@", $epost)) {
$navn = "<a href=\\"mailto:$epost\\">$navn</a>";
}

#
# Så er alt klart til browseren og vi spytter en tabel ud med denne besked.
# Hvis du vil ændre markant i udseendet af din gæstebog, så er det
# i blokken herunder det foregår. Du skal bare beholde de givne navne i
# <input>-tagsene.
#
# Vi hopper lige ud af PHP-mode lidt, så vi er fri for at escape alle gåseøjnene.
#

?>

<table width="<?php echo $tabel_bredde; ?>" cellpadding="1" cellspacing="0" border="0">
<tr><td class="gbog-baggrund" width="100%" align="center">

<table border="0" cellpadding="8" cellspacing="0" width="100%">
<tr><td class="gbog-top" width="100%">Skrevet af: <strong><?php echo $navn; ?></strong>, <?php echo $tiden; ?></td></tr>
</table>

</td></tr><tr><td class="gbog-baggrund" align="center" width="100%">

<table border="0" cellpadding="8" cellspacing="0" width="100%">
<tr><td class="gbog-bund" width="100%">
<?php echo $besked; ?>
<p align="right"><a class="slet" href="<?php echo "slet.php?id=$id&start_nr=$start_nr"; ?>">slet</a></p></td></tr>
</table>

</td></tr>
</table><p />

<?php

#
# Vi hopper tilbage i PHP-mode.
#
# Her slutter loopet og PHP springer tilbage og går hele turen igennem med den næste
# besked. Når der ikke er flere indlæg i denne omgang går PHP videre.
#

}

#
# Endelig skriver vi frem- og tilbage-links på i bunden af siden også.
#

echo $nav;

#
# Her slutter if-else-konstruktionen der fanger, om der er nogle indlæg overhovedet.
#

}

#
# Og spytter den sidste stump HTML ud.
#

echo bund();

?>



Du kunne jo sætte det lige ved siden af linket til slet!:
Fold kodeboks ind/udKode 

Stedet hvor der er blevet ændret:
<p align="right">
<a class="slet" href="<?php echo "slet.php?id=$id&start_nr=$start_nr"; ?>">slet</a>
<a href="redigere.php?id=<?=$id;?>">redigere</a>
</p>
Hilsen CHadi
Mit lykketal er 2959

[Redigeret d. 31/03-04 19:24:55 af CHadi]



Den siger:

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

hvad så nu??

Daniel



Nå ja... den kræver lige at du connecter til din mysql database..
Hilsen CHadi
Mit lykketal er 2959



Skal det så være sådan her??

<?
aabn_forbindelse_og_vaelgdb()
if(isset($_POST["submit"]))
{
mysql_query("UPDATE gaestebog SET besked = '$_POST[besked]' WHERE id = $id") or die(mysql_error());
}
elseif($_GET["id"])
{
$res = mysql_query("SELECT besked FROM gaestebog where id = $_GET[ID]") or die(mysql_error());
$row = mysql_fetch_array($res)
?>
<form>
<textarea name="besked"><?$row["besked"];?></textarea>
<input type="submit" name="submit">
</form>
<?
}
luk_forbindelse()
?>






Daniel



<< < 12 > >>
t