Avatar billede ban_me Nybegynder
05. september 2003 - 15:04 Der er 11 kommentarer og
1 løsning

fejlmelding i gæstebog

Jeg har hentet "GB V. 1.0" på www.s2a.dk
Den virker næsten også fint, bortset fra at den spytter en fejlmelding ud!!!!

Warning: Cannot add header information - headers already sent by (output started at /customers/b-teens.dk/b-teens.dk/httpd.www/gbog-ting/indstillinger.php:34) in /customers/b-teens.dk/b-teens.dk/httpd.www/gem.php on line 103

Det er en fejl i koden, men hvad. Fortæl mig hvis i evt behøver filerne.

på forhånd tak
Avatar billede ztyxx Nybegynder
05. september 2003 - 15:09 #1
du har noget output inden en header, men lidt kode vil hjælpe, så kan den præcise fejl findes
Avatar billede ztyxx Nybegynder
05. september 2003 - 15:11 #2
prøv at  poste koden for indstillinger.php og gem.php
Avatar billede ztyxx Nybegynder
05. september 2003 - 15:17 #3
aller letteste løsning vil være at du som det ALLERFØRSTE i indstillinger.php skriver
<?php
ob_start();
?>
og som det sidste skriver
<?
ob_end_flush();
?>
Avatar billede ban_me Nybegynder
05. september 2003 - 15:25 #4
http://www.b-teens.dk/ekspertenhjaelp.html
Kunne du evt. rette dem for mig?!
Avatar billede ban_me Nybegynder
05. september 2003 - 19:46 #5
ikkenogle som vil hjælpe mig?!
Avatar billede ztyxx Nybegynder
05. september 2003 - 22:38 #6
kan ikke extracte filen, kan du ikke lave den som tar eller zip ?
Avatar billede ban_me Nybegynder
05. september 2003 - 23:11 #7
selvfølgelig, alt for eksperterne :-) Prøv det samme link igen, så skulle filerne være zippet!
Avatar billede ztyxx Nybegynder
05. september 2003 - 23:17 #8
i gem.php har du nogle includes og output før der sendes en header (linie 103), det er der fejlen opstår, som jeg nævnte tidligere, kan du starte gem.php med
<?
ob_start();
?>
og slutte det med
<?
ob_end_flush();
?>
det er den letteste måde at løse det på
Avatar billede ban_me Nybegynder
05. september 2003 - 23:19 #9
er ikke så skrab til det med php. Jeg ville blive endnu mere taknemlig hvis du ville gøre det for mig. Så er pointene dine.
Avatar billede ztyxx Nybegynder
05. september 2003 - 23:21 #10
gem.php skal se sådan ud

<?php
ob_start();
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&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 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);

}
ob_end_flush();
?>
Avatar billede ban_me Nybegynder
05. september 2003 - 23:27 #11
Tak for det, der virkede!!!! :DDDD.
Du for pointene. tak for det!
Avatar billede ztyxx Nybegynder
05. september 2003 - 23:28 #12
så takker jeg også ;-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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