Warning: Cannot modify header information - headers already sent by (output started at /public/sites

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Wim Broer

Wim Broer

02/02/2012 20:21:18
Quote Anchor link
hallo luitjes
Misschien kan iemand mij helpen

Ik heb een script gekocht voor een schandalig bedrag en de maker ervan is vertrokken en mij met een script achtergelaten die niet werkt
ik heb overal gezocht maar niet echt een antwoord gevonden op mijn probleem , veel topics gevolgd en het zelf toegepast maar helaas niet geholpen

als ik inlog /register of wat dan ook dan krijg ik deze melding
Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.defamilieboom.nl/header.php:10) in /public/sites/www.defamilieboom.nl/registercheck.php on line 27


hij blijft hangen op : het scipt line 27 maar hier in de topic is het line 64
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
header("refresh: 5; register.php");
include('footer.php');
die;
}


Dit is het script
[code]<?php
include('database.php');
include('header.php');
?>

<section id="content">
<?php
$first
=$_POST['element_0'];
$last=$_POST['element_1'];
$email=$_POST['element_2'];
$cont=$_POST['element_3'];
$gender=$_POST['element_4'];
$status=false;
$que="select * from members";
$password=rand();
$hash = md5($password);
$r=mysql_query($que);
while($row=mysql_fetch_array($r))
{

if($row['email']==$email)
$status=true;
}

if($status)
{

?>

<h3 style="text-align:center; color:red;">Error. This Email address already existis in the database.<br/> You will be taken back in 5 seconds</h3>
<?php
header("refresh: 5; register.php");
include('footer.php');
die;
}


else
{
$sql="INSERT INTO members ".
       "(password,fname,lname,email,country,gender) ".
       "VALUES ".
       "('$hash','$first','$last','$email','$cont','$gender')";



$result=mysql_query($sql) or die(mysql_error());
$to=$email;
$subject = 'Registration at DeFamilieBoom';
$message = 'Hi'.$first.',\nThanks For signing up at DeFamilieBoom.\nYour Password is:  '.$password.'\nYou can change your password from your account after logging in.\n So login now and start creating your familiy tree.\nThanks,http://www.defamilieboom.com\n. Note This is an automatically generated email Dont reply to it.\n  If you are unable to login please contact us by contact us form at the website';

$headers = 'From: noreply@defamilieboom.nl' . "\r\n" .
    'Reply-To: noreply@defamilieboom.nl' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);


if($result)
{

?>

<h3 style="text-align:center; color:red;">Cogratulations. An Email has been sent to your address containing your password.<br/>If you didn't get the email please contact us by clicking <a href="contact.php">here</a> You will be taken to home page in 10 seconds</h3>
<?php
header("refresh: 12; register.php");
include('footer.php');
}


}
Gewijzigd op 02/02/2012 20:24:43 door Wim Broer
 
PHP hulp

PHP hulp

28/07/2021 13:29:01
 
Jeroen VD

Jeroen VD

02/02/2012 20:37:12
Quote Anchor link
Haal die die; op lijn 4 eens weg

Toevoeging op 02/02/2012 20:39:42:

En btw ik zou je geld terugvragen. Dit is echt bagger

Toevoeging op 02/02/2012 20:48:03:

- geen variabelen kopieren
- if-then procedures zijn raar
- geen sql foutafhandeling
- er is inline css

Om maar wat dingen op te noemen. Er is wat mis met je bb code tags. Pas dat even aan
 
- SanThe -

- SanThe -

02/02/2012 20:50:53
 
Wim Broer

Wim Broer

02/02/2012 20:52:19
Quote Anchor link
helaas nog steeds dezelfde melding :(

Toevoeging op 02/02/2012 20:54:23:

ja geld terug vragen is helaas niet mogelijk en ik weet heel weinig van php af :(
dus hoop dat iemand mij een beetje op weg kan helpen wat er hier fout zou staan
 
- SanThe -

- SanThe -

02/02/2012 20:55:35
Quote Anchor link
Regel 12 output, regel 32 output, regel 63 output.

Toevoeging op 02/02/2012 20:56:27:



Gewoon doorlezen geeft inzicht in de foutmelding.

Toevoeging op 02/02/2012 21:00:47:

Script is trouwens goed voor SQL-Injection, oftewel LEK. Beveilig dit met mysql_real_escape_string().

Toevoeging op 02/02/2012 21:02:41:

Email is gevoelig voor spammers.
 
Ivo K

Ivo K

02/02/2012 21:13:44
Quote Anchor link
Wat is de bedoeling van het script precies Wim? Ofwel, hoe wil je precies dat je script functioneert. Heb je dat eenmaal duidelijk aan ons dan denk ik dat iedereen van ons graag dit script zo aanpast dat het wel werkt.
 
Wim Broer

Wim Broer

02/02/2012 21:14:40
Quote Anchor link
ik ben zoeen noob hierin ,m ik heb de links even nagelezen en daar kom ik uit dat de tekst onder de header zou moeten plaatsen of met een echo
zodra ik dat doe krijg ik gelijk een andere melding Line 70 maar line 70 is een lege regel

Toevoeging op 02/02/2012 21:22:45:

hallo Ivo

het is een scriptje waar je een account kan aanmaken op de website
dus zodra je je aanmeld dat hij dan alles wegschrijft in mysql
dus zo ook bij inloggen en wachtwoord opvragen

het uitvoeren doet hij wel , dus account maken enzo alleen krijg ik dan wel die error te zien
bij aanmelding schrijft hij naar sql , voornaam , achternaam ,email ,land, geslacht naar de database , en meer is er niet nodig

kijk maar even op www.defamilieboom.nl , dan zie je dat de registratie en inlog niet zo bijzonders is
 
Joakim Broden

Joakim Broden

02/02/2012 22:07:23
Quote Anchor link
Draai alle H3 Tags en header om dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
if($result)
{
header("refresh: 12; register.php");
?>

<h3 style="text-align:center; color:red;">Cogratulations. An Email has been sent to your address containing your password.<br/>If you didn't get the email please contact us by clicking <a href="contact.php">here</a> You will be taken to home page in 10 seconds</h3>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include('footer.php');
}

ipv
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
if($result)
{
?>

<h3 style="text-align:center; color:red;">Cogratulations. An Email has been sent to your address containing your password.<br/>If you didn't get the email please contact us by clicking <a href="contact.php">here</a> You will be taken to home page in 10 seconds</h3>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
header("refresh: 12; register.php");
include('footer.php');
}

Misschien dat hij het dan gaat doen, kan ik niet zeker zeggen aangezien het echt een bagger script is. Je praat over een schandalig bedrag? Wat mag dat bedrag dan zijn als ik vragen mag want zelf zou ik er nog geen eens 5 euro voor geven.
Gewijzigd op 02/02/2012 22:07:53 door Joakim Broden
 
Wim Broer

Wim Broer

02/02/2012 22:54:54
Quote Anchor link
bedankt ik ga het even proberen

nou 200,- maar er zou nog meer bij komen en hij heeft alleen dit neergezet en is toen met de noorderzon vertrokken :(
 
Reshad F

Reshad F

03/02/2012 09:42:42
Quote Anchor link
lol bij wie heb je dit script gekocht dan? ik neem aan dat je diegene op een of andere manier hebt bereikt in eerste instantie of niet? en het script is idd heel bagger ik zou het gratis nog niet aannemen :p

maar is het nu inmiddels gelukt of heb je nog hulp nodig?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

03/02/2012 13:29:45
Quote Anchor link
Ik heb het script een 'beetje' gefatsoeneerd.
Ik ook de formulier velden een fatsoenlijke naam gegeven dus dat moet je nog aanpassen.
Binnen het formulier plaats je het volgende
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<div style="display: none;">
<input type="checkbox" name="chkBot" value="chkBot">
</div>
Dit houdt spammers enigszins tegen.
Het script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
session_start();

function
ValidateEmail($emailAddress) {
    $check = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^";
    if (!preg_match($check, $emailAdrress)) {
        return false;
    }

    else {
        return true;
    }
}


if ($_SERVER['REQUEST_METHOD'] == "POST") {
    if (isset($_POST['chkBot'])) {
        header("Location: http:\\www.wehatespammers.com");
    }

    else {
        $errors = array();
        if (!ValidateEmail($_POST['email'])) {
            $errors[] = "Invalid email addrress<br>";
        }

        if (!isset($_POST['lastName']) || trim($_POST['lastName']) == '') {
            $errors [] = "Last name is a required field";
        }

        if (count($errors) == 0) {
            //er is geen foutieve invoer
            include('database.php');
            $email = mysql_real_escape_string($_POST['email']);
            //contoleer of emailadress al bestaat
            $result = mysql_query("SELECT
                                          email
                                    FROM
                                        members
                                    WHERE
                                        email='"
. $email . "'");
            if ($result === false) {
                $errors[] = "There was a problem with database connection, please try again later";
            }

            else {
                if (mysql_num_rows($result) == 0) {
                    //email bestaat nog niet
                    $password = md5(rand());
                    $sql = "INSERT INTO
                                members
                            (password, fname, lname, email, country, gender)
                            VAlUES ('"
. $password . "', '" .
                                mysql_real_escape_string($_POST['firstName']) . "', '" .
                                mysql_real_escape_string($_POST['lastName']) . "', '" .
                                 .
"', '" .
                                mysql_real_escape_string($_POST['country']) . "', '" .
                                mysql_real_escape_string($_POST['gender']) . "')";
                    if (mysql_query($sql)) {
                        $to=$email;
                        $subject = 'Registration at DeFamilieBoom';
                        $message = 'Hi' . $_POST['firstName'] . ',\nThanks For signing up at DeFamilieBoom.\nYour Password is:  ' .
                                    $password . '\nYou can change your password from your account after logging in.\n So login now and start creating your familiy tree.\nThanks,http://www.defamilieboom.com\n. Note This is an automatically generated email Dont reply to it.\n  If you are unable to login please contact us by  using the contact form at the website';

                        $headers = 'From: noreply@defamilieboom.nl' . "\r\n" .
                                    'Reply-To: noreply@defamilieboom.nl' . "\r\n" .
                                    'X-Mailer: PHP/' . phpversion();

                        mail($to, $subject, $message, $headers);
                        header("refresh: 12; http://www.defamilieboom.nl");
                        include("header.php");
                        ?>

                        <h3>Congratulations.</h3>
                        An Email has been sent to your address containing your password.<br/>
                        If you didn't get the email please contact us by clicking
                        <a href="contact.php">here</a>
                        You will be taken to home page in 10 seconds
                        <?php
                        include('footer.php');
                        exit;
                    }

                    else {
                        $errors[] = "There was a problem with database connection, please try again later";
                    }
                }

                else {
                    $errors[] = $email . " already exists, please choose another one";
                }
            }
        }
    }
}

include ('header.php');
if (isset($errors)) {
    foreach($errors as $error) {
        echo $error . '<br>';
    }
}

//na de sluit tag kun je verder gaan met formulier
?>
            
                    
Gewijzigd op 04/02/2012 09:43:32 door Ger van Steenderen
 
Wim Broer

Wim Broer

03/02/2012 20:27:10
Quote Anchor link
Hey bedankt man voor de hulp

Helaas krijg ik nu deze melding


Fatal error: Can't use function return value in write context in /public/sites/www.defamilieboom.nl/registercheck.php on line 23
line23 : > if (!isset($_POST['lName']) || empty(trim($_POST['lastName']))) {
$errors [] = "Last name is a required field";
 
Reshad F

Reshad F

03/02/2012 20:35:42
Quote Anchor link
ik krijg Parse error: syntax error, unexpected T_VARIABLE, expecting ')' in /public/sites/www.defamilieboom.nl/registercheck.php on line 24

dus je mist ergens een ) op paginalijn 24
 
Wim Broer

Wim Broer

03/02/2012 20:40:46
Quote Anchor link
ja ik dacht dat ik had gevonden maar helaas , heb alles weer terug gezet zoals Ger het neergezet had ,

Toevoeging op 03/02/2012 20:42:12:

dit is paginalijn 23 en 24
if (!isset($_POST['lastName']) || empty(trim($_POST['lastName']))) {
$errors [] = "Last name is a required field";

deze is dezelfde als lijn 20 en 21 die gebruikt wordt voor het emailadres , dus kan weinig verschil vinden
 
Reshad F

Reshad F

03/02/2012 20:42:48
Quote Anchor link
ik zie het al :) je hebt een ) teveel bij regel 24 haal de allerlaatste haakje is weg

empty(trim($_POST['lastName'])) ) <-- er zijn er 3 ipv 2
 
Wim Broer

Wim Broer

03/02/2012 20:53:50
Quote Anchor link
ja dat dacht ik idd ook maar zodra ik die weg haal dan blijft dezelfde melding :(
 
Reshad F

Reshad F

03/02/2012 21:12:03
Quote Anchor link
sorry ik heb het even rondgekeken maar niets gevonden wat mij fout lijkt verder, maar ik ben ook nog niet zo een pro met php ;) misschien dat iemand anders het wel weet
 
Erwin H

Erwin H

03/02/2012 22:25:29
Quote Anchor link
Reshadd farid op 03/02/2012 20:42:48:
empty(trim($_POST['lastName'])) ) <-- er zijn er 3 ipv 2

Die derde is van het if statement, dus die heb je nog steeds wel nodig.

Maar het probleem zit hem in dit: empty(trim($_POST['lastName']))
Dit kan je niet op die manier doen. Vraag me niet waarom, dat weet ik ook niet, maar je zal de uitkomst van de trim() operatie eerst moeten vangen in een variabele, voor je het kunt gebruiken in die empty(). Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
        
        if (isset($_POST['lastName'])){
            $_POST['lastName'] = trim($_POST['lastName']);
            if (empty($_POST['lastName'])) {
                $errors [] = "Last name is a required field";
            }
        }
else {
            $errors [] = "Last name is a required field";
        }

?>
 
Wim Broer

Wim Broer

04/02/2012 01:34:05
Quote Anchor link
Helaas krijg het allemaal niet voor elkaar

is er niet iemand die me ermee kan helpen ? tegen betaling dan om iniedergeval het inloggen en aanmelden goed te krijgen ?
 
- SanThe -

- SanThe -

04/02/2012 02:06:37
Quote Anchor link
Wim Broer op 04/02/2012 01:34:05:
Helaas krijg het allemaal niet voor elkaar

is er niet iemand die me ermee kan helpen ? tegen betaling dan om iniedergeval het inloggen en aanmelden goed te krijgen ?


Hallo Wim,

Ik had je gister(nacht) reeds een PM gestuurd.
 
Allan de Bruin

Allan de Bruin

04/02/2012 05:46:42
Quote Anchor link
Beste Wim,
Ik heb dit ook wel eens. Je kan jou originele script gewoon gebruiken.
Dan moet je onder die line 27 het volgende plaatsen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<script language='javascript'>window.location='register.php'</script>";


dit is wel een "vieze" oplossing, maar het laat je script wel verder gaan.
Zet desnoods een @ voor de header (dus @header)

Hoop dat je hier wat aan hebt?


Toevoeging op 04/02/2012 05:55:58:

Ik heb het script aangepast. Er zat een fout op, in mijn editor, regel 49:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
mysql_real_escape_string($_POST['firstName']) . "', '" .
mysql_real_escape_string($_POST['lastName']) . "', '" .
. "', '" . // dit scheen teveel te zijn?
mysql_real_escape_string($_POST['country']) . "', '" .
mysql_real_escape_string($_POST['gender']) . "')";







Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
session_start();

function
ValidateEmail($emailAddress) {
    $check = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^";
    if (!preg_match($check, $emailAdrress)) {
        return false;
    }

    else {
        return true;
    }
}


if ($_SERVER['REQUEST_METHOD'] == "POST") {
    if (isset($_POST['chkBot'])) {
        header("Location: http:\\www.wehatespammers.com");
    }

    else {
        $errors = array();
        if (!ValidateEmail($_POST['email'])) {
            $errors[] = "Invalid email addrress<br>";
        }

        if (!isset($_POST['lastName']) || empty(trim($_POST['lastName']))) {
            $errors [] = "Last name is a required field";
        }

        if (count($errors) == 0) {
            //er is geen foutieve invoer
            include('database.php');
            $email = mysql_real_escape_string($_POST['email']);
            //contoleer of emailadress al bestaat
            $result = mysql_query("SELECT
                                          email
                                    FROM
                                        members
                                    WHERE
                                        email='"
. $email . "'");
            if ($result === false) {
                $errors[] = "There was a problem with database connection, please try again later";
            }

            else {
                if (mysql_num_rows($result) == 0) {
                    //email bestaat nog niet
                    $sql = "INSERT INTO
                                members
                            (password, fname, lname, email, country, gender)
                            VAlUES ('"
. md5(rand()) . "', '" .
                                mysql_real_escape_string($_POST['firstName'])     . "', '" .
                                mysql_real_escape_string($_POST['lastName'])     . "', '" .
                                mysql_real_escape_string($_POST['country'])     . "', '" .
                                mysql_real_escape_string($_POST['gender'])         . "')";
                    if (mysql_query($sql)) {
                        $to=$email;
                        $subject = 'Registration at DeFamilieBoom';
                        $message = 'Hi' . $first . ',\nThanks For signing up at DeFamilieBoom.\nYour Password is:  ' .
                                    $password . '\nYou can change your password from your account after logging in.\n So login now and start creating your familiy tree.\nThanks,http://www.defamilieboom.com\n. Note This is an automatically generated email Dont reply to it.\n  If you are unable to login please contact us by  using the contact form at the website';

                        $headers = 'From: noreply@defamilieboom.nl' . "\r\n" .
                                    'Reply-To: noreply@defamilieboom.nl' . "\r\n" .
                                    'X-Mailer: PHP/' . phpversion();

                        mail($to, $subject, $message, $headers);
                        header("refresh: 12; http://www.defamilieboom.nl");
                        include("header.php");
                        ?>

                        <h3>Congratulations.</h3>
                        An Email has been sent to your address containing your password.<br/>
                        If you didn't get the email please contact us by clicking
                        <a href="contact.php">here</a>
                        You will be taken to home page in 10 seconds
                        <?php
                        include('footer.php');
                        exit;
                    }

                    else {
                        $errors[] = "There was a problem with database connection, please try again later";
                    }
                }

                else {
                    $errors[] = $email . " already exists, please choose another one";
                }
            }
        }
    }
}

include ('header.php');
if (isset($errors)) {
    foreach($errors as $error) {
        echo $error . '<br>';
    }
}

//na de sluit tag kun je verder gaan met formulier
?>
            
                    
Gewijzigd op 04/02/2012 05:47:04 door Allan de Bruin
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.