geen melding dat het verzenden gelukt is.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tommy

Tommy

24/06/2006 09:40:00
Quote Anchor link
Hallo,
Geen errors op het eerste zicht. Als ik echter de velden submit krijg ik geen output. Geen mail word verzonden en geen gegevens worden in db gestopt ook de variabele word niet geoutput!
Wat doe ik verkeerd?
Bedankt!

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
96
97
98
99
100
<?php

session_start();
ob_start();
error_reporting(E_ALL);

// Toevoegen van de config.php, verander de directory als die in een andere map staat.
include_once("config.php");

if(isset($_POST['aanmelden'])){
    
    // Opvragen van gegevens uit de db -> worden later gebruikt als variabelen.
    $sql = "SELECT * FROM members WHERE gebruikersnaam='" .$_POST['gebruikersnaam'] . "'";
    $query = mysql_query($sql) or die(mysql_error());;
    $user_exist = mysql_num_rows($query) or die(mysql_error());;

    if(!$_POST['naam'] || !$_POST['wachtwoord'] || !$_POST['gebruikersnaam'] || !$_POST['email']){ // velden ingevuld?
    
        echo $rr, $r1;
        echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
        echo '<br><br><b>'.$re.'</b>';
    }

    
    elseif(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+", $_POST['email'])){ // tekens?
    
        echo $rr, $r2;
        echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
        echo '<br><br><b>'.$re.'</b>';
    }

    
    elseif(!eregi("[A-Za-z0-9-]", $_POST['gebruikersnaam'])){ // tekens?

        echo $rr, $r3;
        echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
        echo '<br><br><b>'.$re.'</b>';
    }


    elseif($user_exist == 1){ // Controleren als de gebruikersnaam al in gebruik is.

        echo $rr, $r4;
        echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
        echo '<br><br><b>'.$re.'</b>';
    }


    // Activation functie
    else {
    
        function
Activation($lengte = 10) {
        
            $tekens = array(a, b, c, d, e, f, g, h, i, j, l, k, j, h, g, f, d, s, s, a, m, n, n, m, w, r, t, y, u, p);
            $random = '';
    
            for($i = 1; $i <= $lengte; $i++)
            $random .= $tekens[rand(0,10)];
    
            return strtoupper($random); //make capital a,b,c to A,B,C
        }

        // Activation oproepen en verzenden
        $activatiecode = Activatie();
    
        $headers  = 'MIME-Version: 1.0\n';
        $headers .= 'Content-type: text/html; charset=iso-8859-1\n';
        $headers .= 'From: '.$webs_reg_name.' <'.webs_reg_mail.'>\n';
    
        $sql = 'INSERT INTO members (id, ondertitel, geslacht, avatar, gebruikersnaam, naam, wachtwoord, status, email, ip, activatie, datum) Values ("", "Nieuw Lid", "'.$_POST["geslacht"].'", "Geen", "'.$_POST["gebruikersnaam"].'", "'.$_POST["naam"].'", "'.$_POST["wachtwoord"].'", "Lid", "' . $_POST["email"] . '", "' . $_POST["ip"] . '", "'.$activatiecode.'", "'.$_POST["datum"].'")';
        $query = mysql_query($sql) or die(mysql_error());
        
        include_once ('email_template.php');
        mail(''.$_POST["email"].'', ''.$r5.' '.$webs_name.'' , $bericht ,$headers);
    
        // Melding met bericht dat het aanmelden gelukt is.
        echo $r6;
        echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
        echo '<br><br><b>'.$re.'</b>';
    }
}


// Forumlier dat de user die wil aanmelden moet invullen. (Je kan de benamingen aanpassen.)
else {

    $date = date("d-m-Y H:i:s");
    $ipadres = $_SERVER['REMOTE_ADDR'];
    
?>

    <center><table><form method=POST action=aanmelden.php>
    <td><?= $r7 ?> <TD><input type=text name=gebruikersnaam maxlength='12' value= <? isset($_POST['gebruikersnaam']) ?> ><tr>
    <td><?= $r8 ?><TD><input type=text name=naam value= <? isset($_POST['naam']) ?> ><input type=hidden name=datum value= <? $date ?> ><tr>
    <td><?= $r9 ?> <TD><input type=password name=wachtwoord value= <? isset($_POST['wachtwoord']) ?> ><input type=hidden name=ip value= <? $ipadres ?> ><tr>
    <td><?= $r10 ?><TD><input type=text name=email value= <? isset($_POST['email']) ?> ><tr>
    <td><?= $r11 ?><TD><select name=geslacht><option value=Man> <?= $r12 ?> </option><option value=Vrouw> <?= $r13 ?> </option></select><tr>
    <td><td><input type=submit name=aanmelden value= <?= $r14 ?> ></form>
    </table>
<?
    
}

// Headers afsluiten om header errors te voorkomen
ob_end_flush();
?>


db verbindingen zitten in de config die geinclude is (zie regel 7-8)
Gewijzigd op 01/01/1970 01:00:00 door Tommy
 
PHP hulp

PHP hulp

19/03/2024 08:47:24
 
Tommy

Tommy

24/06/2006 10:00:00
Quote Anchor link
als ik op de 11de regel echo 'gepost'; zet krijg ik dit te zien na te hebben gedrukt op aanmelden als ik het echter op de 16de regel zet krijg ik dit niet te zien.
 
- wes  -

- wes -

24/06/2006 10:02:00
Quote Anchor link
ob_start en end flush is niet het voorkomen van header error, maar puur het onderdrukken daarvan. Haal die altijd weg en maak een goed stukje code om headererrors echt te voorkomen!
 
Tommy

Tommy

24/06/2006 10:04:00
Quote Anchor link
nu daar ligt het niet aan. Als ik ze weg doe verandert er niets. heb geen problemen met de headers. het probleem ligt hem aan de

// Opvragen van gegevens uit de db -> worden later gebruikt als variabelen.
$sql = 'SELECT * FROM members WHERE gebruikersnaam="'.$_POST['gebruikersnaam'] .'"';
$query = mysql_query($sql) or die(mysql_error());
$user_exist = mysql_num_rows($query) or die(mysql_error());

daar ben ik zeker van; als ik dit stukje code weghaal werkt het script wel maar ik moet natuurlijk weten als de gebruikersnaam al in gebruik is...
 
Tommy

Tommy

24/06/2006 10:08:00
Quote Anchor link
goed, ik ben er bijna door :p
ik heb de or die weggedaan na de mysql_num_rows en het werkt. De tabel is leeg maar waarom geeft die mysql_num_rows een fout weer ipv een 0?
 
PHP Newbie

PHP Newbie

24/06/2006 10:34:00
Quote Anchor link
$sql = 'SELECT * FROM members WHERE gebruikersnaam="'.$_POST['gebruikersnaam'] .'"';

hier zit idd een foutje. Gebruikersnaam moet met enkele quotes, dus even alle quotes omdraaien:

$sql = "SELECT * FROM members WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'";
 
Eris -

Eris -

24/06/2006 10:44:00
Quote Anchor link
PHP Newbie wat voor onzin sla jij nu weer uit.. Nee hoor het is gewoon goed...
 
- wes  -

- wes -

24/06/2006 10:46:00
Quote Anchor link
het was JUIST beter zoals hij het had newbie :)
 
Tommy

Tommy

24/06/2006 10:54:00
Quote Anchor link
De tabel is leeg maar waarom geeft die mysql_num_rows een fout weer ipv een 0?
 
Eris -

Eris -

24/06/2006 11:31:00
Quote Anchor link
Dan moet je een error afhandeling toe passen
 



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.