så alstå gem.php filen skal se sådan ud: <?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'];
$besked = $HTTP_POST_VARS['besked'];
} elseif (is_array($_POST)) {
$navn = $_POST['navn'];
$epost = $_POST['epost'];
$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ær venlig at gå tilbage og ret til.</p>";
$fejlmelding = "<ul>";
for($i=0;$i<count($fejl);$i++) {
$fejlmelding .= "<li>". $fejl[$i];
}
$fejlmelding .= "</ul>";
echo top("Fejl") . "Gæ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 skriv_i_gbog($navn, $epost, $besked) {
$ip = getenv('REMOTE_ADDR');
$sql = "insert into gaestebog(navn,epost,besked,ip,tid)
values('$navn','$epost','$besked','$ip',now())";
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(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.
*/
skriv_i_gbog(addslashes($navn),addslashes($epost),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);
function make_smileys($text){ // Reserveret tekst erstattes med humørikoner
$text = ereg_replace("\:\)|\:-\)|\:o\)","".insert_image("graf/msn_iconer/smile.gif")."",$text); # :) :-) :o)
$text = ereg_replace("\:\(|\:-\(|\:o\(","".insert_image("graf/msn_iconer/sad.gif")."",$text); # :( :-( :o(
$text = ereg_replace("\:d|\:-d|\:D|\:-D|\:od|\:oD","".insert_image("graf/msn_iconer/smiled.gif")."",$text); # :d :-d :D :-D :od :oD
$text = ereg_replace("\:s|\:-s|\:S|\:-S|\:os|\:oS","".insert_image("graf/msn_iconer/crooked.gif")."",$text); # :s :-s :S :-S :os :oS
$text = ereg_replace("\:\||\\:-\||\:o\|","".insert_image("graf/msn_iconer/disgust.gif")."",$text); # :| :-| :o|
$text = ereg_replace("\:p|\:-p|\:P|\:-P|\:op|\:oP","".insert_image("graf/msn_iconer/smileP.gif")."",$text); # :p :-p :P :-P :op :oP
$text = ereg_replace("\;\)|\;-\)|\;o\)","".insert_image("graf/msn_iconer/wink2.gif")."",$text); # ;) ;-) ;o)
$text = ereg_replace("\:O|\:o|\:-O|\:-o|\:-0|\:oo|\:oO|\:o0","".insert_image("graf/msn_iconer/smileo.gif")."",$text); # :O :o :-O :-o :-0 :oo :oO :o0
$text = ereg_replace("\(h\)|\(H\)","".insert_image("graf/msn_iconer/love.gif")."",$text); # (h) (H)
$text = ereg_replace("\(help\)|\(HELP\)","".insert_image("graf/msn_iconer/helpbook.gif")."",$text); # (help) (HELP)
$text = ereg_replace("\(==\)"," ".insert_image("graf/msn_iconer/flag.gif")." ",$text); # (==)
return($text);
}
$dintext = make_smileys($dintext);
}
?>
----------------------------------------------------------
Og det her skal sættes ind i gbog.php
function insert_image(){
$numargs = func_num_args(); // antal argumenter
$arg_list = func_get_args(); // array med argumenter
if ($numargs > 0 && $arg_list[0] != ""){
$img_path = $arg_list[0]; // første argument er img_path (url)
$img_path = ereg_replace("^[/]+", "", $img_path); // fjern slashes fra start af img_path
if(ereg ("^
http://", $img_path)) { // tjek om img_path starter med http://
$img_path = $img_path; // ingen ændring af img_path
}
else{
$img_path = "
http://graf.halstania.dk/".$img_path; // relativ url gøres til fast url
}
if($numargs >= 2){ // hvis 2 eller flere argumenter
$alt = $arg_list[1]; // er andet argument ALT
}
if($numargs >= 3){ // hvis 3 eller flere argumenter
$extra = " ".$arg_list[2]; // er tredje argument EXTRA attributter
}
$size = @GetImageSize($img_path); // billedets højde og bredde findes
$udskriv = "<img src=\"".$img_path."\" "; // stien til billedet
$udskriv .= $size[3]; // højde og bredde af billedet
$udskriv .= " alt=\"".$alt."\" "; // alternativ tekst
$udskriv .= "style=\"border-width:0px;\""; // ingen kanter
$udskriv .= $extra." />"; // ekstra img-attributter
return $udskriv; // img-tag og img-attributter udskrives
}
}
??
Daniel