Jump to content

Know Header Error Prob


Unrated

Recommended Posts

Hey, I was placing my contact form in to my website,I got the know "Cannot modify header information"So i added "ob_start();" and "ob_end_flush();"but i still get the error :)http://www.aaeurocup.com/index.php?page=contactAnybody know how i can remove the header error?

<div class="boxtext"><div class="title1">Contact Form:</div><?php/////////////////////////////////////////////////// Contact formulier met formherhaling/// Gemaakt door Sebazzz/// xhtml compatible///////////////////////////////////////////ob_start();//headers alvast instellenheader("Expires: Mon, 26 Jul 1997 05:00:00 GMT");header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");header("Cache-Control: no-store, no-cache, must-revalidate");header("Cache-Control: post-check=0, pre-check=0", false);header("Pragma: no-cache");//////////////////////////////////////////////////////// Variablen die ingesteld moeten worden/////////////////////////////////////////////////////// Maanden, hoef je eigen niks aan te wijzigen, tenzij je// natuurlijk de maanden in het engels wil ontvangen$SETTINGS['maanden']                       = array('01' => 'Januari','02' => 'Februari','03' => 'Maart','04' => 'April','05' => 'Mei','06' => 'Juni','07' => 'Juli','08' => 'Augustus','09' => 'September','10' => 'Oktober','11' => 'November','12' => 'December');// email adres(sen) waar het naartoe moet// naam_van_persoon => email adres$SETTINGS['emails'] = array('Adriatic'        => 'fatal_adri@hotmail.com',                            'Maev'       => 'maartenevers_90@hotmail.com',                            'Unrated' => 'info@unrated.be',                            'Tawny Roberts'        => 'psychoticturkey@hotmail.com',                            );//standaard persoon die aangekruist staat (email adres)$SETTINGS['stdmail'] = 'Maev';//onderwerpen gebruiken?//true / false$SETTINGS['do_onderwerpen'] = true;//welke onderwerpen?// id => onderwerp$SETTINGS['onderwerpen'] = array(1  => 'Question',                                 2  => 'Complaint',                                 3  => 'Idea',                                 4  => 'Website Bug',                                 );//wat is het standaard onderwerp// $SETTINGS['onderwerpen'][ id_van onderwerp ]$SETTINGS['stdsub'] = $SETTINGS['onderwerpen'][4];// html email of plain text? kies uit:// text/html - text/plain$SETTINGS['mime'] = 'text/html';//datum formaat volgens php's date() functie$SETTINGS['datum_formaat'] = 'd-m-Y H:i:s';//tijdzone waar je in zit$SETTINGS['timezone'] = 1;//STA, Server Time Adjustment in minuten. Zegt het al...$SETTINGS['adjustment'] = 0;//input: minimale en maximale string lengte van naam?$SETTINGS['naam_min'] = 3;$SETTINGS['naam_max'] = 20;//input: minimale en maximale string lengte van titel?$SETTINGS['titel_min'] = 4;$SETTINGS['titel_max'] = 40;//input: minimale en maximale string lengte van titel?$SETTINGS['email_min'] = 4;$SETTINGS['email_max'] = 40;//input: minimale en maximale string lengte van bericht? maximale woord lengte?$SETTINGS['bericht_min'] = 20;$SETTINGS['bericht_max'] = 10000;$SETTINGS['bericht_wmx'] = 50;//bericht dat weergegeven wordt bovenaan het formulier, html ingeschakelt//hoeft er niks? laat dan   staan$SETTINGS['bericht_top'] = ' <span style="font-weight:bold;">Test formulier script</span> ';//bericht dat weergegeven wordt nadat het emailtje successvol is verzonden$SETTINGS['bericht_suc']  = 'Bedankt voor het versturen van een e-mail.';$SETTINGS['bericht_suc'] .= 'Je zult snel een antwoord krijgen indien nodig. <br />';$SETTINGS['bericht_suc'] .= 'We gaan vertroiuwelijk om met de informatie en ';$SETTINGS['bericht_suc'] .= 'je email adres zal nooit aan derden worden gegeven.';//kijken voor een geldige email adres? true voor ja, false voor nee$SETTINGS['email_check'] = true;//foutmelding om te weergeven als het verzenden van//de email niet is gelukt(dus als mail() FALSE geeft)//html ingeschakelt$SETTINGS['no_email'] = 'Er is een foutje opgetreden waardoor het email verzenden is mislukt...';//foutmelding om te weergeven als degene al een emailtje heeft verzonden. html ingeschakelt$SETTINGS['error_spam'] = 'Jij hebt al eens een emailtje gestuurd vandaag!';//tijd wanneer het koekje beschimmeld raakt ( in andere taal: cookie verloop tijd)$SETTINGS['expire_cookie'] = time() + (3600 * 24); //verloopt na een dag/// niks meer te editen// error reporting goed zettenerror_reporting(E_ALL ^ E_NOTICE);///////////////////////////////// functies defineeren////////////////////////////function parse_incoming() {    ////////////////////////////////////////////////    /// Deze functie geeft al het 'incoming' via    /// _POST en _GET terug. _POST heeft voorrang,    /// dus als een key in _GET al bestaat, wordt    /// de key overgeschreven    ////////////////////////////////////////////////    /// array parse_incoming( void );    $return = array();        //eerst get,    foreach ($_GET as $k => $v) {        if (!is_array($v)) {            $return[ $k ] = clean_value($v);        }    }        //en dan post!    foreach ($_POST as $k => $v) {        if (!is_array($v)) {            $return[ $k ] = clean_value($v);        }    }    return $return;}function clean_value($val) {        global $site;                if ($val == "")        {            return "";        }                $val = str_replace( " ", " ", $val );        $val = str_replace( chr(0xCA), "", $val );                $val = str_replace( "&"            , "&"         , $val );        $val = str_replace( "<!--"         , "<!--"  , $val );        $val = str_replace( "-->"          , "-->"       , $val );        $val = preg_replace( "/<script/i"  , "<script"   , $val );        $val = str_replace( ">"            , ">"          , $val );        $val = str_replace( "<"            , "<"          , $val );        $val = str_replace( "\""           , """        , $val );        $val = preg_replace( "/\n/"        , "<br>"          , $val );        $val = preg_replace( "/\\\$/"      , "$"        , $val );        $val = preg_replace( "/\r/"        , ""              , $val );        $val = str_replace( "!"            , "!"         , $val );        $val = str_replace( "'"            , "'"         , $val );        $val = preg_replace("/&#([0-9]+);/s", "\\1;", $val );                $val = stripslashes($val);                $val = preg_replace( "/\\\(?!&#|?#)/", "\", $val );                return $val;}function checkcookie() {    ///////////////////////////////////////////////    /// Deze functie kijkt voor een cookie,    /// in dit geval of de gast al eens een    /// mailtje heeft gestuurd.    // geeft false voor ja, true voor nee    ///////////////////////////////////////////////    /// boolean checkcookie( void );    if ($_COOKIE['sendmail'] == "yeah") {        return false;    }    return true;}function vervang_maand($datum) {    //////////////////////////////////////////////////    /// Deze functie gaat ervan uit dat $datum het    /// volgende datum formaat gebruikt:    /// d-m-Y H:i:xxxx    /// d/m/Y H:i:xxxx    /// d.m.y H:i:xxx    /// Je zou natuurlijk strftime() kunnen gebruiken    /// maar omdat we dan gebruik gaan maken van de    /// ingebakken taalpakketten van php en het kan    /// wel eens gebeuren dat men alleen engels    /// in die versie heeft gestopt en dus nederlands    /// niet ondersteund wordt.    ////////////////////////////////////////////////    /// string vervang_maand(string date);    global $SETTINGS;    list($dag, $maand, $rest) = split('[/.-]', $datum);    foreach ($SETTINGS['maanden'] as $nummer => $naam) {        $maand = str_replace ($nummer, $naam, $maand);    }    $temp_array = array( $dag, $maand, $rest);    $datum = implode(" ", $temp_array);    return $datum;}function validate_email($input) {    ///////////////////////////////////////    /// Kijkt of $input een geldig    /// email adres bevat    /////////////////////////////////////    /// boolean validate_email( string email );    if (!preg_match("/^[A-Za-z0-9._\-]+\@[A-Za-z0-9._\-]+\.[A-Za-z]{2,4}$/",$input)) {        return false;    }    return true;}function checkstring($input, $minstrlen = 3, $maxstrlen = 10000, $maxwordlen = 300) {    ////////////////////////////////    /// Check $input string    /// Geeft false als het niet goed is    /// geeft true als de string $input    /// oke is    /////////////////////////////    /// boolean checkstring(string input, [int minimaal tekens, [int maximaal tekens, [int maximaal woord lengte]]]);    if (empty($input)) {        return false;    }    if (strlen($input) < $minstrlen) {        return false;    }    if (strlen($input) > $maxstrlen) {        return false;    }    $temp_array = explode(" ", $input);    foreach ($temp_array as $woord) {        if (strlen($woord) > $maxwordlen) {            return false;        }    }    return true;    }function get_date($timezone = 1, $adjustment = 0) {    ////////////////////////////////////////////////    /// Verkrijg de datum en tijd van een tijdzone    /////////////////////////////////////    /// string get_date( [int timezone, [int adjustment]] );    global $SETTINGS;    $adjustment = $adjustment / 60;    $date = gmdate($SETTINGS['datum_formaat'], time() + 3600*($adjustment + $timezone + date("I")));        return $date;}function show_form($naam = '', $email = '', $titel = '', $bericht = '', $error = false, $to = false, $onderwerp = false) {    ///////////////////////////////////////////////    /// Laat formulier zien. Error als opgegeven    ////////////////////////////////////////////////    /// void show_form( [string naam, [string email, [string titel, [string bericht, [string error]]]]] );    global $SETTINGS;    if ($error == false) {        $header = $SETTINGS['bericht_top'];    } else {        $header = '<span style="color:#FF0000;font-weight:bold;">'.$error.'</span>';    }    if ($to == false) {        $to = $SETTINGS['stdmail'];    }    if ($onderwerp == false) {        $onderwerp = $SETTINGS['stdsub'];    }    $t = $_SERVER['PHP_SELF'];    $s = explode("/", $_SERVER['PHP_SELF']);    $this_file = $s[ count($s) - 1 ];    echo '<form name="contact" action="'.$this_file.'" method="post">';    echo '<input type="hidden" name="ip" value="'.$_SERVER['REMOTE_ADDR'].'" />';    echo '<input type="hidden" name="act" value="dosend" />';    echo '<table>'; //hier kun je eventueel nog style info aan toevoegen    echo '<tr><td colspan="2" align="center">'.$header.'</td></tr>';    echo '<tr><td align="left" valign="top">Name:</td><td align="left"><input type="text" name="naam" value="'.$naam.'" size="40" maxlength="'.$SETTINGS['naam_max'].'" /></td></tr>';    echo '<tr><td align="left" valign="top">E-mail:</td><td align="left"><input type="text" name="email" value="'.$email.'" size="40" maxlength="'.$SETTINGS['email_max'].'" /></td></tr>';    echo '<tr><td align="left" valign="top">Reciever:</td><td align="left">';    foreach ($SETTINGS['emails'] as $name => $adres) {        $name = htmlentities($name);        echo '<input type="radio" name="to" value="'.str_replace('_', ' ', $name).'" id="'.str_replace('_', ' ', $name).'" ';        if (strtolower($to) == strtolower($name)) {            echo 'checked="checked" ';        }        echo '/><label for="'.str_replace('_', ' ', $name).'">'.$name.'</label><br />';    }    print '</td></tr>';    if ($SETTINGS['do_onderwerpen'] == true) {        print '<tr><td align="left" valign="top">Subject:</td>';        print '<td align="left"><select name="onderwerp">';        foreach ($SETTINGS['onderwerpen'] as $id => $sub) {            print '<option value="'.$id.'" ';            if ($sub == $onderwerp) {                print 'selected="selected"';            }            print '>'.htmlentities($sub).'</option>';        }        print '</select></td></tr>';    }    echo '<tr><td align="left" valign="top">Title:</td><td align="left"><input type="text" name="titel" value="'.$titel.'" size="40" maxlength="'.$SETTINGS['titel_max'].'" /></td></tr>';    echo '<tr><td align="left" valign="top">Message:</td><td align="left"><textarea name="bericht" cols="31" rows="6" wrap="soft">'.$bericht.'</textarea></td>';    echo '<tr><td align="center" colspan="2"><input type="submit" name="submit" value="Verzend email" /></td></tr>';    echo '</table></form>';}function sendmail($naam, $email, $titel, $bericht, $ip, $datum, $to, $onderwerp) {    //////////////////////////////////////////////    /// Stuurt emaitje. Gebruikt de $SETTINGS var    /// en geeft false als het niet lukt    /////////////////////////////////////////////    /// boolean sendmail( string naam, string email, string titel, string bericht, string ip);    global $SETTINGS;    $to  = $SETTINGS['emails'][ str_replace(' ', '_', $to) ];    $sub = $SETTINGS['onderwerpen'][ $onderwerp ];    $subject = "E-mail from PSF site - ".$naam.": ".$titel;    if ($SETTINGS['mime'] == "text/html") {        $headers  = "MIME-Version: 1.0\r\n";        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";        $message  = "<html><head>";        $message .= "</head><body>";        $message .= "You recieved a email from a person on the AAEC website!<br /><br />";        $message .= "<table>";        $message .= "<tr><td>Name:</td><td>".$naam."</td></tr>";        $message .= "<tr><td>Email:</td><td><a href=\"mailto:".$email."\">".$email."</a></td></tr>";        $message .= "<tr><td>Subject:</td><td>".htmlentities($sub)."</td></tr>";        $message .= "<tr><td>Title:</td><td>".$titel."</td></tr>";        $message .= "<tr><td>Message:</td><td>".$bericht."</td></tr>";        $message .= "<tr><td colspan=\"2\"> </td></tr>";        $message .= "<tr><td>Datum:</td><td>".vervang_maand($datum)."</td></tr>";        $message .= "<tr><td>Ip:</td><td><a href=\"http://sunny.nic.com/cgi-bin/whois\">".$ip."</a></td></tr>";        $message .= "</table></body></html>";    } else {        $headers  = "MIME-Version: 1.0\r\n";        $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";        $message  = "==============================================\n";        $message .= "Email from a guy on the AAEC site!\n";        $message .= "==============================================\n";        $message .= "\n";        $message .= "Naam:\n";        $message .= $naam."\n\n";        $message .= "Email:\n";        $message .= $email."\n\n";        $message .= "Onderwerp:\n";        $message .= $sub."\n\n";        $message .= "Titel:\n";        $message .= $titel."\n\n";        $message .= "Bericht:\n";        $message .= $bericht."\n\n";        $message .= "\n";        $message .= "Datum:\n";        $message .= vervang_maand($datum)."\n\n";        $message .= "Ip adres:\n";        $message .= $ip."\n\n";    }    $headers .= "From: Php automailer <{$email}>\r\n";    if (!mail($to, $subject, $message, $headers)) {        return false;    }    return true;}////////////////////////////// En nu het script.....///////////////////////////$IN = parse_incoming();if (checkcookie()) {    if ($IN['act'] != 'dosend') {        show_form();    } else {        $err = false;        if (!checkstring($IN['naam'], $SETTINGS['naam_min'], $SETTINGS['naam_max'])) {            $err = 'Geen naam ingevoerd of je naam is te kort of te lang.';        } elseif (!checkstring($IN['email'], $SETTINGS['email_min'], $SETTINGS['email_max'])) {            $err = 'Geen email ingevoerd of je email is te kort of te lang.';        } elseif (!validate_email($IN['email']) && $SETTINGS['email_check'] == true) {            $err = 'Ongeldig email adres ingevoerd.';        } elseif (!checkstring($IN['titel'], $SETTINGS['titel_min'], $SETTINGS['titel_max'])) {            $err = 'Geen titel ingevoerd of je titel is te kort of te lang.';        } elseif (!checkstring($IN['bericht'], $SETTINGS['bericht_min'], $SETTINGS['bericht_max'])) {            $err = 'Geen bericht ingevoerd of je bericht is te kort of te lang.';        }        if ($err == false) {            $datum = get_date($SETTINGS['timezone'], $SETTINGS['adjustment']);            if (!sendmail($IN['naam'], $IN['email'], $IN['titel'], $IN['bericht'], $IN['ip'], $datum, $IN['to'], $IN['onderwerp'])) {                echo $SETTINGS['no_email'];            } else {                echo $SETTINGS['bericht_suc'];                setcookie('sendmail', "yeah", $SETTINGS['expire_cookie']);            }        } else {            show_form($IN['naam'], $IN['email'], $IN['titel'], $IN['bericht'], $err, $IN['to'], $IN['onderwerp']);        }    }} else {    echo $SETTINGS['error_spam'];}ob_end_flush();?></div>

Edit: Changed to codebox

Link to comment
Share on other sites

I believe your ob_start(); should be above/////////////////////////////////////////////////// Contact formulier met formherhaling/// Gemaakt door Sebazzz/// xhtml compatible///////////////////////////////////////////It has to be above any output in php.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...