Welkom, Gast. Je bent niet ingelogd.

PHP/SQL Email in database

Basjee
Octo
Geplaatst op: 06 Jan 2007, 15:53
PimpCoins: 0
💸+
Bewerken Quote

Opgelost!
Ik had eerst getest met een andere file, en later een andere naam gegeven maar de form action stond nog op dat andere file..

Stomme fout..
@ Syncie jouw code werkt niet ..

=========
Hey,
Hij print veld 'email' niet in de database

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
<?php
include("database.inc.php"); 
   if(isset($_POST[voegtoe]))
   {
      $partner_select = "SELECT * FROM gast_links WHERE naam='".$_POST[naam]."'";
      $partner_query = mysql_query($partner_select);
      $partner_bestaat = mysql_num_rows($partner_query);

      if(!$_POST[naam] || !$_POST[url] || !$_POST[email])
      {
         echo "Je moet een naam en een url van de partner invullen. <a href="javascript:history.go(-1)"><b>ga terug</b></a>";
      }
      elseif($partner_bestaat == 1)
      {
         echo "Helaas, deze partner bestaat al. <a href="javascript:history.go(-1)"><b>ga terug</b></a>";
      }
      else
      {
         mysql_query("INSERT INTO gast_links (id, naam, url, email) VALUES ('', '".$_POST[naam]."', '".$_POST[url]."', '".$_POST[email]."')");
         echo "<b>Partner is succesvol toegevoegd!</b><br>";
         echo "De link zal eerst moeten worden goedgekeurd door een admin<br>Als de link is goedgekeurd ontvang je een e-mail met informatie. ";
         echo "<meta http-equiv='refresh' content='20; url=index.php'>";
      }
   }
   else
   {
   ?>
   <form action="add_link.php" method="POST">
   <table width="500" cellpadding="2">
   <tr>
     <td width="100%" colspan="2" class='content'><b><h1>Linkpartner toevoegen</h1></b></td>
   </tr>
   <tr>
     <td width="35%" class='content'>Partnernaam:</td>
     <td width="65%" class='content'><input type="text" size="30" name="naam"></td>
   </tr>
   <tr>
     <td width="35%" class='content'>URL:</td>
     <td width="65%" class='content'><input type="text" size="30" name="url" value="http://"></td>
   </tr>
   <tr>
     <td width="35%" class='content'>Email:</td>
     <td width="65%" class='content'><input type="text" size="30" name="email"></td>
   </tr>
   <tr>
     <td width="100%" colspan="2" class='content'><input type="submit" value="Toevoegen!" name="voegtoe"></td>
   </tr>
   </table>
   </form>
   <?
   }
   ?>

Database structuur:
Ziet iemand wat ik fout doe?

ty, basjee!

[Laatst bewerkt door Basjee op zondag 7 januari 2007, om 12:03]
Saven
admin
Geplaatst op: 06 Jan 2007, 15:55
PimpCoins: 0
💸+
Bewerken Quote

verander
'".$_POST[email]."'

eens naar
'".$_POST['email']."'

Basjee
Octo
Geplaatst op: 06 Jan 2007, 15:57
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

verander
'".$_POST[email]."'

eens naar
'".$_POST['email']."'


Werkt niet

Saven
admin
Geplaatst op: 06 Jan 2007, 16:10
PimpCoins: 0
💸+
Bewerken Quote

Heb je wel iets ingevuld bij email?

Basjee
Octo
Geplaatst op: 06 Jan 2007, 16:10
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

Heb je wel iets ingevuld bij email?

Tuurlijk

Saven
admin
Geplaatst op: 06 Jan 2007, 16:42
PimpCoins: 0
💸+
Bewerken Quote

1
mysql_query("INSERT INTO gast_links (id, naam, url, email) VALUES ('', '".$_POST[naam]."', '".$_POST[url]."', '".$_POST[email]."')")or die(mysql_error());

gebruik die code eens

Basjee
Octo
Geplaatst op: 06 Jan 2007, 17:03
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

[...]

gebruik die code eens


Ook niet

[Laatst bewerkt door Basjee op zaterdag 6 januari 2007, om 17:03]
Thomaz
'
Geplaatst op: 06 Jan 2007, 17:10
PimpCoins: 0
💸+
Bewerken Quote

even een opmerking over je script, beveilig de $_POST['naam'] als je daarmee gegevens op gaat halen. Anders is het voor hackers een makkie om in je systeem te komen.

Basjee
Octo
Geplaatst op: 06 Jan 2007, 17:14
PimpCoins: 0
💸+
Bewerken Quote

Thomaz schreef:

even een opmerking over je script, beveilig de $_POST['naam'] als je daarmee gegevens op gaat halen. Anders is het voor hackers een makkie om in je systeem te komen.

Ja, dat was ik ook van plan, maar eerst ff alles werkend krijgen enzo

ty voor de tip
// Dat is alleen met $_GET['naam'] toch? en niet met POST

[Laatst bewerkt door Basjee op zaterdag 6 januari 2007, om 17:16]
AfcAjax
Geplaatst op: 06 Jan 2007, 17:22
PimpCoins: 0
💸+
Bewerken Quote

Basjee schreef:

[...]
Ja, dat was ik ook van plan, maar eerst ff alles werkend krijgen enzo

ty voor de tip
// Dat is alleen met $_GET['naam'] toch? en niet met POST


Ook met post volgensmij hoor

Striker
Geplaatst op: 06 Jan 2007, 17:23
PimpCoins: 0
💸+
Bewerken Quote

Probeer dit is

if(empty($_POST[naam]) && empty($_POST[url]) && empty($_POST[email]))

inplaats van

if(!$_POST[naam] || !$_POST[url] || !$_POST[email])

Basjee
Octo
Geplaatst op: 06 Jan 2007, 17:24
PimpCoins: 0
💸+
Bewerken Quote

Striker schreef:

Probeer dit is

if(empty($_POST[naam]) && empty($_POST[url]) && empty($_POST[email]))

inplaats van

if(!$_POST[naam] || !$_POST[url] || !$_POST[email])


Dat heeft niks te maken met het in de database zetten, dat is alleen de controle of alles wel ingevuld is ..

Syncie
Geplaatst op: 06 Jan 2007, 17:48
PimpCoins: 0
💸+
Bewerken Quote

Deze moet werken, alleen in database.inc.php moet je de database verbinding in de variable $databaseVerbinding zetten.

Je tabelstructuur is bagger, je zet NOT NULL default ''
En dan is dat ding default leeg.

1
2
3
4
5
6
7
8
CREATE TABLE `gast_links` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`naam` VARCHAR( 255 ) NOT NULL ,
`url` VARCHAR( 255 ) NOT NULL ,
`email` VARCHAR( 255 ) NOT NULL ,
`inhits` INT( 5 ) NOT NULL ,
`uithits` INT( 5 ) NOT NULL
) ENGINE = MYISAM ;

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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?php
require_once 'database.inc.php';

function isEmail($email){
    
    if(eregi("^[a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,6}$", $email)){
    
        return true;
            
    }else{
    
        return false;

    }
    
}

function isUrl($url){

    if(eregi('^http://www.+[a-z0-9._-]+\.[a-z]{2,6}', $url)){
    
        return true;
        
    }elseif(eregi('^http://+[0-9.]', $url)){
    
        return true;
        
    }else{
        
        return false;
        
    }
    
}

$form = '<form action="add_link.php" method="POST">
    <table width="500" cellpadding="2">
        <tr>
            <td width="100%" colspan="2" class=\'content\'><b><h1>Linkpartner toevoegen</h1></b></td>
        </tr>
        <tr>
            <td width="35%" class=\'content\'>Partnernaam:</td>
            <td width="65%" class=\'content\'><input type="text" size="30" name="naam"></td>
        </tr>
        <tr>
            <td width="35%" class=\'content\'>URL:</td>
            <td width="65%" class=\'content\'><input type="text" size="30" name="url" value="http://"></td>
        </tr>
        <tr>
            <td width="35%" class=\'content\'>Email:</td>
            <td width="65%" class=\'content\'><input type="text" size="30" name="email"></td>
        </tr>
        <tr>
            <td width="100%" colspan="2" class=\'content\'><input type="submit" value="Toevoegen!" name="voegtoe"></td>
        </tr>
    </table>
</form>';

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    
    if(empty($_POST['naam']) || empty($_POST['url']) || !isUrl($_POST['url']) || empty($_POST['email']) || !isEmail($_POST['email'])){
        
        $error = '<b style="color:#FF0000">Je hebt de/het volgende veld(en) niet goed ingevuld:</b>
        <br />';
        
        if(empty($_POST['naam'])){
            
            $error .= 'Het veld naam.
            <br />';
            
        }
        
        if(empty($_POST['url'])){
            
            $error .= 'Het veld URL.
            <br />';
            
        }else{
            
            if(!isUrl($_POST['url'])){                
                
                $error .= 'Het veld URL is geen geldige URL.
                <br />';
                
            }
            
        }
        
        if(empty($_POST['email'])){
            
            $error .= 'Het veld emailL.
            <br />';
            
        }else{
            
            if(!isEmail($_POST['email'])){                
                
                $error .= 'Het veld email is geen geldige email.
                <br />';
                
            }
            
        }
        
        echo '<br />
        Probeer het opnieuw:
        <br />
        ' . $form;
        
    }else{
        
        $naam    =    mysql_real_escape_string($_POST['naam'], $databaseVerbinding);
        $url    =    mysql_real_escape_string($_POST['url'], $databaseVerbinding);
        $email    =    mysql_real_escape_string($_POST['email'], $databaseVerbinding);
        
        mysql_query("INSERT INTO gast_links (id, naam, url, email) VALUES ('', '" . $naam . "', '" . $url . "', '" . $email . "'") or die('<b style="color:#FF0000">MySQL fout:</b>' . mysql_error());
        
        echo '<b>De partner is succescul toegevoegd!</b>
        <br />
        De link zal eerst moeten worden goedgekeurd door een admin.
        <br />
        Als de link is goedgekeurd ontvang je een e-mail met informatie.
        <meta http-equiv=\'refresh\' content=\'20; url=index.php\'>';
        
    }
    
}else{
    
    echo $form;
    
}
?>

[Laatst bewerkt door Syncie op zaterdag 6 januari 2007, om 17:58]
Died
Geplaatst op: 06 Jan 2007, 18:01
PimpCoins: 0
💸+
Bewerken Quote

Syncie schreef:

Deze moet werken, alleen in database.inc.php moet je de database verbinding in de variable $databaseVerbinding zetten.

Je tabelstructuur is bagger, je zet NOT NULL default ''
En dan is dat ding default leeg.

[...]


Ik denk niet dat hij een opensource script wilt ;P

Syncie
Geplaatst op: 06 Jan 2007, 18:01
PimpCoins: 0
💸+
Bewerken Quote

Spunk schreef:

[...]
Ik denk niet dat hij een opensource script wilt ;P

Wat bedoel jij nou?
Hij post zijn eigen code toch ook hierboven?

[Laatst bewerkt door Syncie op zaterdag 6 januari 2007, om 18:02]
iisys
Hmhm, indeed. whtvr.
moderator
Geplaatst op: 06 Jan 2007, 18:16
PimpCoins: 0
💸+
Bewerken Quote

Basjee schreef:

[...]
Ja, dat was ik ook van plan, maar eerst ff alles werkend krijgen enzo

ty voor de tip
// Dat is alleen met $_GET['naam'] toch? en niet met POST


Tuurlijk wel met POST. Met POST kan je evengoed alle gewenste gegevens invullen als met GET. Misschien niet direct via je browser, maar er zijn manieren.

Basjee
Octo
Geplaatst op: 06 Jan 2007, 19:51
PimpCoins: 0
💸+
Bewerken Quote

Syncie schreef:

Deze moet werken, alleen in database.inc.php moet je de database verbinding in de variable $databaseVerbinding zetten.

Je tabelstructuur is bagger, je zet NOT NULL default ''
En dan is dat ding default leeg.

[...]


Wat bedoel je met '$databaseVerbinding'?
Hoe gaat dat eruit zien?
zoiets?
1
2
$databaseVerbinding = "SELECT * FROM gast_links WHERE naam='".$_POST[naam]."'"; 
      $partner_query = mysql_query($databaseVerbinding);

[Laatst bewerkt door Basjee op maandag 8 januari 2007, om 17:09]
Basjee
Octo
Geplaatst op: 07 Jan 2007, 11:40
PimpCoins: 0
💸+
Bewerken Quote

Ik heb het zo gedaan als Syncie zei maar dat werkt ook echt niet..

Ik heb ook die tabel verwijderd en opnieuw erin gestopt (zoals Syncie's structuur eruit zag)

1
mysql_query("INSERT INTO gast_links (id, naam, url, email) VALUES ('', '".$_POST[naam]."', '".$_POST[url]."', '[email protected]'") or die('<b style="color:#FF0000">MySQL fout:</b>' . mysql_error());

Nu post hij [email protected] ook niet in de database

[Laatst bewerkt door Basjee op zondag 7 januari 2007, om 11:43]
Lennard
?
Geplaatst op: 07 Jan 2007, 11:50
PimpCoins: 0
💸+
Bewerken Quote

$databaseVerbinding kun je ook gewoon weglaten als je maar met één verbinding werkt.

Krijg je ook geen error ofzo?

Basjee
Octo
Geplaatst op: 07 Jan 2007, 12:01
PimpCoins: 0
💸+
Bewerken Quote

Lennard schreef:

$databaseVerbinding kun je ook gewoon weglaten als je maar met één verbinding werkt.

Krijg je ook geen error ofzo?


Ha, opgelost!!
Ik had eerst getest met een andere file, en later een andere naam gegeven maar de form action stond nog op dat andere file..

Stomme fout..
@ Syncie jouw code werkt niet ..

lockzor!

Basjee
Octo
Geplaatst op: 07 Jan 2007, 16:38
PimpCoins: 0
💸+
Bewerken Quote

Ander vraagje in hetzelfde script

1
mail("[email protected]", "Onderwerp", "Bericht [enter] bericht [enter]");

heb ik nu, maar wil een enter erin <br> en /n werken niet

DJVG
&#61514;
Geplaatst op: 07 Jan 2007, 16:40
PimpCoins: 0
💸+
Bewerken Quote

Basjee schreef:

Ander vraagje in hetzelfde script
[...]

heb ik nu, maar wil een enter erin <br> en /n werken niet

Je moet letterlijk enters doen...

Basjee
Octo
Geplaatst op: 07 Jan 2007, 16:43
PimpCoins: 0
💸+
Bewerken Quote

DJVG schreef:

[...]

Je moet letterlijk enters doen...


Dan werkt mijn hele mailscriptje niet meer

iisys
Hmhm, indeed. whtvr.
moderator
Geplaatst op: 07 Jan 2007, 16:57
PimpCoins: 0
💸+
Bewerken Quote

Basjee schreef:

Ander vraagje in hetzelfde script
[...]

heb ik nu, maar wil een enter erin <br> en /n werken niet


Als je je Content-Type op text/html hebt gezet werken de <br />'s. Als je dat niet hebt is het dus een text/plain bestanden (.txt zeg maar), dus kan je de escaped n gebruiken. Die gebruik je met een BACKslash, dus niet die onder de vraagteken
Tada: \n

Basjee
Octo
Geplaatst op: 07 Jan 2007, 17:34
PimpCoins: 0
💸+
Bewerken Quote

iisys schreef:

[...]
Als je je Content-Type op text/html hebt gezet werken de <br />'s. Als je dat niet hebt is het dus een text/plain bestanden (.txt zeg maar), dus kan je de escaped n gebruiken. Die gebruik je met een BACKslash, dus niet die onder de vraagteken
Tada: \n

Oke meneer
dankjewel
@ mod
Ik schat u rond de 80/90

Modbreak

Hoe oud denk je wel niet dat ik ben ?!

[Laatst bewerkt door Basjee op zondag 7 januari 2007, om 19:05]
📫

Nieuw privébericht

🔥

Registreren


Login