Avatar billede detail Nybegynder
01. juli 2005 - 17:59 Der er 3 kommentarer og
1 løsning

popup i stedet for "top"

Hej jeg sidder og tilpasser en gæstebog til min hjemmeside. Selve PHP filerne har jeg fundet på nettet, men der er nogle tilpasninger jeg ikke rigtig har styr på.
Når der er en fejl i den formular "gæsten" udfylder, så kommer der en fejlmeddelse. Denne fejlmeddelse kunne jeg godt tænke mig åbnede i et lille browservindue i stedet for i den eksisterende browser. Det skal gerne være et lille popup jeg selv kan definere størrelsen på. Jeg har en lille fornemmelse af at det er denne linie der skal kodes om, men til hvad ?
echo top("Fejl") . "Gæstebogen brokkede sig lidt over dit input:" . $fejlmelding . $generel_tekst . bund();
    exit;

Her er hele scriptet:
<?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'];
  $besked = $HTTP_POST_VARS['besked'];
} elseif (is_array($_POST)) {
  $navn = $_POST['navn'];
  $epost = $_POST['epost'];
  $besked = $_POST['epost'];
}

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, $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();
}

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);
}

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

header("Location: gbog.php");

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 rtfm_now Nybegynder
01. juli 2005 - 18:06 #1
Det er ikke-muligt , og dog alligevel.

PHP kan ikke gøre noget selv helst, den kan kun outputte html.
Men du kan godt få php til at aktivere en onload funtion, ved f.eks. en if()else sætning, som så aktivere et javascript vindue, hvori du viser fejlene.

Kan godt prøve at lave et eksempel.
Avatar billede rtfm_now Nybegynder
01. juli 2005 - 18:25 #2
http://thedeathart.dk/diverse/windowopen/

Virker hvis man slår sin popupblokker fra
Avatar billede detail Nybegynder
04. juli 2005 - 08:56 #3
Dit eksempel er meget fint, og som jeg gerne vil have det, men hvor i min kode skal det lægges ind ?<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>gem</title>
<link href="css/steen.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="54">&nbsp;</td>
    <td width="346">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>
   
    <?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'];
  $besked = $HTTP_POST_VARS['besked'];
} elseif (is_array($_POST)) {
  $navn = $_POST['navn'];
  $epost = $_POST['epost'];
  $besked = $_POST['epost'];
}


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, $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();

}


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);
}

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

header("Location: gbog.php");

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);

}

?>
    </td>
  </tr>
</table>
<br>
</body>
</html>
Avatar billede detail Nybegynder
08. juli 2005 - 13:12 #4
luk
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