$vraagje[s]
Hoi vriendjes en vriendinnetjes,
ik ben nieuw met php en heb nu een code geschreven waarmee gebruikers zich kunnen registreren maar ik heb er wat vraagjes over.
(de form wordt naar zijn eigen pagina gepost)
1) Als ik met de database wil connecten dan werkt dat mbv de volgende waarden; (regel 55)
$User = 'root';
$Pass = 'mysql';
Waar kan ik deze veranderen zodat ik iets anders dan 'root' en 'mysql' kan gebruiken?
2)
Die mysql_query's heb ik gekopieerd uit phpMyAdmin.
Maar wat zijn dat voor vreemde quootjes die daar in staan? Heb ik die wel nodig en zo ja, hoe krijg ik die uit mijn toetsenbord?
3)
Als de gebruikers gegevens zijn toegevoegd aan de database dan wil ik (voorlopig) dat er een mailtje verstuurd wordt naar het Email adres onder de variabele $to (regel 74) maar het werkt niet. Wat moet ik doen?
4)
Kan ik het ook zonder javascript maken maar dat het wel hetzelfde werkt?
5)
Hoe kan ik het beter doen dan?
Alvast bedankt, jullie worden beloond in het hiernamaals!
ik ben nieuw met php en heb nu een code geschreven waarmee gebruikers zich kunnen registreren maar ik heb er wat vraagjes over.
(de form wordt naar zijn eigen pagina gepost)
1) Als ik met de database wil connecten dan werkt dat mbv de volgende waarden; (regel 55)
$User = 'root';
$Pass = 'mysql';
Waar kan ik deze veranderen zodat ik iets anders dan 'root' en 'mysql' kan gebruiken?
2)
Die mysql_query's heb ik gekopieerd uit phpMyAdmin.
Maar wat zijn dat voor vreemde quootjes die daar in staan? Heb ik die wel nodig en zo ja, hoe krijg ik die uit mijn toetsenbord?
3)
Als de gebruikers gegevens zijn toegevoegd aan de database dan wil ik (voorlopig) dat er een mailtje verstuurd wordt naar het Email adres onder de variabele $to (regel 74) maar het werkt niet. Wat moet ik doen?
4)
Kan ik het ook zonder javascript maken maar dat het wel hetzelfde werkt?
5)
Hoe kan ik het beter doen dan?
Code (php)
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
133
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
133
<html>
<head>
<title>Registreren</title>
<script type="text/javascript">
function rood(idee) {
document.getElementById(idee).style.backgroundColor='#ff8888';
};
function wit(idee) {
document.getElementById(idee).style.backgroundColor='#ffffff';
};
function checkENsubmit()
{
wit('gebruikersnaam');
wit('wachtwoord');
wit('email');
var gnLength = document.getElementById('gebruikersnaam').value.length;
var wwLength = document.getElementById('wachtwoord').value.length;
var emLength = document.getElementById('email').value.length;
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = document.getElementById('email').value;
var goedAdres = reg.test(address);
if (gnLength<=1 || wwLength<=5 || emLength<=5) {
if (emLength<=5) {rood('email'); message('ongeldig E-mail adres'); };
if (wwLength<=5) {rood('wachtwoord'); message('wachtwoord moet minimaal 6 tekens bevatten'); };
if (gnLength<=1) {rood('gebruikersnaam'); message('gebruikersnaam moet minimaal 2 tekens bevatten'); };
};
else if (goedAdres == false) {rood('email'); message('ongeldig E-mail adres'); };
else {document.getElementById('formID').submit();};
};
function message(tekst) {
document.getElementById('messagePOST').innerHTML=tekst;
};
</script>
</head>
<body onload="document.getElementById('messagePOST').innerHTML=document.getElementById('messageGET').innerHTML;">
<?php
echo "<div id=\"messageGET\" style=\"display:none;\">";
if(!empty($_POST['gebruikersnaam']) && !empty($_POST['wachtwoord']) && !empty($_POST['email']))
{
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$Server = 'localhost';
$User = 'root';
$Pass = 'mysql';
$database = "database";
$connectie = mysql_connect( $Server, $User, $Pass );
if(!$connectie)
{
die (mysql_error());
}
$db_select = mysql_select_db($database,$connectie);
if(!$db_select)
{
die ( "database niet gevonden ". mysql_error());
}
mysql_query('CREATE TABLE IF NOT EXISTS `logintabel` (`gebruikersnaam` text NOT NULL, `wachtwoord` text NOT NULL, `email` text NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;');
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$to = 'myEmail';
$subject = 'Testbericht';
$message = '<b>Testbericht</b>, up?';
$headers = "From: [email protected]\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\r\n";
$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = $_POST['wachtwoord'];
$email = $_POST['email'];
$gebruikerBestaatAl = mysql_query('SELECT `gebruikersnaam` FROM `logintabel` WHERE `gebruikersnaam` = \''.$gebruikersnaam.'\' LIMIT 1 ');
$emailBestaatAl = mysql_query('SELECT `gebruikersnaam` FROM `logintabel` WHERE `email` = \''.$email.'\' LIMIT 1 ');
if(mysql_num_rows($gebruikerBestaatAl)!=0)
{echo "gebruikersnaam bestaat al";}
elseif(mysql_num_rows($emailBestaatAl)!=0)
{echo "dit E-mail adres is al geregistreerd";}
elseif(mysql_num_rows($gebruikerBestaatAl)==0 && mysql_num_rows($emailBestaatAl)==0)
{
$db_insert = mysql_query('INSERT INTO `database`.`logintabel` (`gebruikersnaam`, `wachtwoord`, `email`) VALUES (\''.$gebruikersnaam.'\', \''.$wachtwoord.'\', \''.$email.'\');');
echo "gebruiker toegevoegd";
mail($to, $subject, $message, $headers);
}
}
else {$gebruikersnaam = ""; $wachtwoord = ""; $email = "";}
echo "</div>";
echo "<form id=\"formID\" action=\"connect.php\" method=\"post\">";
echo "<table><tr>";
echo "<td>gebruikersnaam:</td>";
echo "<td><input name=\"gebruikersnaam\" id=\"gebruikersnaam\" type=\"text\" value=\"".$gebruikersnaam."\" /></td>";
echo "<td>(min. 2 tekens)</td>";
echo "</tr><tr>";
echo "<td>wachtwoord:</td>";
echo "<td><input name=\"wachtwoord\" id=\"wachtwoord\" type=\"text\" value=\"".$wachtwoord."\" /></td>";
echo "<td>(min. 6 tekens)</td>";
echo "</tr><tr>";
echo "<td>E-mail adres:</td>";
echo "<td><input name=\"email\" id=\"email\" type=\"text\" value=\"".$email."\" /></td>";
echo "<td></td>";
echo "</tr><tr>";
echo "<td></td>";
echo "<td><input type=\"button\" value=\"aanmelden\" onclick=\"message('_'); checkENsubmit();\" /></td>";
echo "<td id=\"messagePOST\" style=\"color:#ff0000;\"></td>";
echo "</tr></table>";
echo "</form>";
?>
</body>
</html>
<head>
<title>Registreren</title>
<script type="text/javascript">
function rood(idee) {
document.getElementById(idee).style.backgroundColor='#ff8888';
};
function wit(idee) {
document.getElementById(idee).style.backgroundColor='#ffffff';
};
function checkENsubmit()
{
wit('gebruikersnaam');
wit('wachtwoord');
wit('email');
var gnLength = document.getElementById('gebruikersnaam').value.length;
var wwLength = document.getElementById('wachtwoord').value.length;
var emLength = document.getElementById('email').value.length;
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = document.getElementById('email').value;
var goedAdres = reg.test(address);
if (gnLength<=1 || wwLength<=5 || emLength<=5) {
if (emLength<=5) {rood('email'); message('ongeldig E-mail adres'); };
if (wwLength<=5) {rood('wachtwoord'); message('wachtwoord moet minimaal 6 tekens bevatten'); };
if (gnLength<=1) {rood('gebruikersnaam'); message('gebruikersnaam moet minimaal 2 tekens bevatten'); };
};
else if (goedAdres == false) {rood('email'); message('ongeldig E-mail adres'); };
else {document.getElementById('formID').submit();};
};
function message(tekst) {
document.getElementById('messagePOST').innerHTML=tekst;
};
</script>
</head>
<body onload="document.getElementById('messagePOST').innerHTML=document.getElementById('messageGET').innerHTML;">
<?php
echo "<div id=\"messageGET\" style=\"display:none;\">";
if(!empty($_POST['gebruikersnaam']) && !empty($_POST['wachtwoord']) && !empty($_POST['email']))
{
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$Server = 'localhost';
$User = 'root';
$Pass = 'mysql';
$database = "database";
$connectie = mysql_connect( $Server, $User, $Pass );
if(!$connectie)
{
die (mysql_error());
}
$db_select = mysql_select_db($database,$connectie);
if(!$db_select)
{
die ( "database niet gevonden ". mysql_error());
}
mysql_query('CREATE TABLE IF NOT EXISTS `logintabel` (`gebruikersnaam` text NOT NULL, `wachtwoord` text NOT NULL, `email` text NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;');
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$to = 'myEmail';
$subject = 'Testbericht';
$message = '<b>Testbericht</b>, up?';
$headers = "From: [email protected]\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\r\n";
$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = $_POST['wachtwoord'];
$email = $_POST['email'];
$gebruikerBestaatAl = mysql_query('SELECT `gebruikersnaam` FROM `logintabel` WHERE `gebruikersnaam` = \''.$gebruikersnaam.'\' LIMIT 1 ');
$emailBestaatAl = mysql_query('SELECT `gebruikersnaam` FROM `logintabel` WHERE `email` = \''.$email.'\' LIMIT 1 ');
if(mysql_num_rows($gebruikerBestaatAl)!=0)
{echo "gebruikersnaam bestaat al";}
elseif(mysql_num_rows($emailBestaatAl)!=0)
{echo "dit E-mail adres is al geregistreerd";}
elseif(mysql_num_rows($gebruikerBestaatAl)==0 && mysql_num_rows($emailBestaatAl)==0)
{
$db_insert = mysql_query('INSERT INTO `database`.`logintabel` (`gebruikersnaam`, `wachtwoord`, `email`) VALUES (\''.$gebruikersnaam.'\', \''.$wachtwoord.'\', \''.$email.'\');');
echo "gebruiker toegevoegd";
mail($to, $subject, $message, $headers);
}
}
else {$gebruikersnaam = ""; $wachtwoord = ""; $email = "";}
echo "</div>";
echo "<form id=\"formID\" action=\"connect.php\" method=\"post\">";
echo "<table><tr>";
echo "<td>gebruikersnaam:</td>";
echo "<td><input name=\"gebruikersnaam\" id=\"gebruikersnaam\" type=\"text\" value=\"".$gebruikersnaam."\" /></td>";
echo "<td>(min. 2 tekens)</td>";
echo "</tr><tr>";
echo "<td>wachtwoord:</td>";
echo "<td><input name=\"wachtwoord\" id=\"wachtwoord\" type=\"text\" value=\"".$wachtwoord."\" /></td>";
echo "<td>(min. 6 tekens)</td>";
echo "</tr><tr>";
echo "<td>E-mail adres:</td>";
echo "<td><input name=\"email\" id=\"email\" type=\"text\" value=\"".$email."\" /></td>";
echo "<td></td>";
echo "</tr><tr>";
echo "<td></td>";
echo "<td><input type=\"button\" value=\"aanmelden\" onclick=\"message('_'); checkENsubmit();\" /></td>";
echo "<td id=\"messagePOST\" style=\"color:#ff0000;\"></td>";
echo "</tr></table>";
echo "</form>";
?>
</body>
</html>
Alvast bedankt, jullie worden beloond in het hiernamaals!
Gewijzigd op 01/01/1970 01:00:00 door Repelsteeltje
1) gewoon veranderen?
$Server = 'localhost';
$User = 'repelsteeltje';
$Pass = 'mijnwachtwoord';
$database = "database";
2) Die kunnen er gewoon blijven staan.
3) Gebruik de mail() functie -> klik
$Server = 'localhost';
$User = 'repelsteeltje';
$Pass = 'mijnwachtwoord';
$database = "database";
2) Die kunnen er gewoon blijven staan.
3) Gebruik de mail() functie -> klik
Gewijzigd op 01/01/1970 01:00:00 door Yearupie Achternaamloos
'repelsteeltje:
1) Als ik met de database wil connecten dan werkt dat mbv de volgende waarden; Waar kan ik deze veranderen zodat ik iets anders dan 'root' en 'mysql' kan gebruiken?
Als ik een database aanmaak worden deze automatisch toegewezen. Geen idee of je ze kunt wijzigen. Zou ze alleen niet zomaar in je script plaatsen, beter in een aparte file achter .htaccess.
'repelsteeltje:
2) Maar wat zijn dat voor vreemde quootjes die daar in staan? Heb ik die wel nodig en zo ja, hoe krijg ik die uit mijn toetsenbord?
Met een tandenborstel? Dat zit natuurlijk niet in je toetsenbord he? Welke quotes bedoel je nou precies?
'repelsteeltje:
3) Als de gebruikers gegevens zijn toegevoegd aan de database dan wil ik (voorlopig) dat er een mailtje verstuurd wordt naar het Email adres
Kijk eens naar swift-mailer.
'repelsteeltje:
function checkENsubmit()
Dit kan beter: checkANDsubmit()
'Yearupie:
2) Die kunnen er gewoon blijven staan.
Niet dus. Gewoon weghalen want dat zijn backtics.
'Bart:
Met een tandenborstel? Dat zit natuurlijk niet in je toetsenbord he? Welke quotes bedoel je nou precies?
'repelsteeltje:
2) Maar wat zijn dat voor vreemde quootjes die daar in staan? Heb ik die wel nodig en zo ja, hoe krijg ik die uit mijn toetsenbord?
Met een tandenborstel? Dat zit natuurlijk niet in je toetsenbord he? Welke quotes bedoel je nou precies?
De backtics. De toets links naast de 1 en dan een spatie.
Niet gebruiken is het juiste gebruik.
'Yearupie:
1) gewoon veranderen?
$Server = 'localhost';
$User = 'repelsteeltje';
$Pass = 'mijnwachtwoord';
$database = "database";
2) Die kunnen er gewoon blijven staan.
3) Gebruik de mail() functie -> klik
$Server = 'localhost';
$User = 'repelsteeltje';
$Pass = 'mijnwachtwoord';
$database = "database";
2) Die kunnen er gewoon blijven staan.
3) Gebruik de mail() functie -> klik
1) vreemd genooeg kan ik ze nu wel veranderen. Je hebt gelijk! Maar waar is dat dan voor die gebruikersnaam en wachtwoord?
3)op regel 99 doe ik een poging. Maar ik krijg geen mailtje (met mijn adres natuurlijk)
Gewijzigd op 01/01/1970 01:00:00 door repelsteeltje
'SanThe:
backticks
Oké .. 1) en 2) zijn dan opgelost
Thanx!
'Gelieve:
Gewijzigd op 01/01/1970 01:00:00 door repelsteeltje
1) In jouw geval zou ik in PHPmyadmin in de welkomspagina op gebruikers klikken.
2) Dit zijn 'backticks', deze kun je vinden onder de tilde-toets ( ~ ), dit wordt toegepast om reserved SQL woorden te kunnen gebruiken, persoonlijk zou ik ze nooit gebruiken en goede tabel / procedure / view namen hanteren
3) Probeer eens PHPMailer, of Google eens, je kunt niet verwachten dat wij alles voor je doen
4) Kan wel met AJAX, maar wenselijk lijkt het mij niet.
5) Geen reactie.
2) Dit zijn 'backticks', deze kun je vinden onder de tilde-toets ( ~ ), dit wordt toegepast om reserved SQL woorden te kunnen gebruiken, persoonlijk zou ik ze nooit gebruiken en goede tabel / procedure / view namen hanteren
3) Probeer eens PHPMailer, of Google eens, je kunt niet verwachten dat wij alles voor je doen
4) Kan wel met AJAX, maar wenselijk lijkt het mij niet.
5) Geen reactie.
'Twan:
1) In jouw geval zou ik in PHPmyadmin in de welkomspagina op gebruikers klikken.
2) Dit zijn 'backticks', deze kun je vinden onder de tilde-toets ( ~ ), dit wordt toegepast om reserved SQL woorden te kunnen gebruiken, persoonlijk zou ik ze nooit gebruiken en goede tabel / procedure / view namen hanteren
3) Probeer eens PHPMailer, of Google eens, je kunt niet verwachten dat wij alles voor je doen
4) Kan wel met AJAX, maar wenselijk lijkt het mij niet.
5) Geen reactie.
2) Dit zijn 'backticks', deze kun je vinden onder de tilde-toets ( ~ ), dit wordt toegepast om reserved SQL woorden te kunnen gebruiken, persoonlijk zou ik ze nooit gebruiken en goede tabel / procedure / view namen hanteren
3) Probeer eens PHPMailer, of Google eens, je kunt niet verwachten dat wij alles voor je doen
4) Kan wel met AJAX, maar wenselijk lijkt het mij niet.
5) Geen reactie.
1) dit is mijn welkomsscherm van phpMyAdmin;
http://127.0.0.1/mysql/index.php?db=database&server=1&target=db_sql.php&token=8cb2b6d57ce98e3d2388898dc963078a
Ik vind daar geen gebruikers om op te klikken?
3) ik doe mijn best!
5)thanx
" control + f gebruikers / users ".
Ik kan natuuurlijk niet op jouw lokale server kijken.
Ik kan natuuurlijk niet op jouw lokale server kijken.
dus als je dan het volgende voorbeeld uit zou laten voeren dan krijgt '[email protected]' een mailtje??
of niet?
Als ik die code uitvoer krijg ik de volgende melding;
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\EasyPHP 3.0\www\mailen.php on line 16
of niet?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$to = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
$to = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
Als ik die code uitvoer krijg ik de volgende melding;
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\EasyPHP 3.0\www\mailen.php on line 16
Gewijzigd op 01/01/1970 01:00:00 door repelsteeltje
(!NIET BUMPEN!)
Dus php.ini voorzien van het smtp server adres en nu geeft hij de volgende melding;
Dan moet er toch ergens [email protected] staan wat ik kan veranderen in mijn eigen adres?
Maar waar?
Dus php.ini voorzien van het smtp server adres en nu geeft hij de volgende melding;
Quote:
Warning: mail() [function.mail]: SMTP server response: 550-Verification failed for <[email protected]> 550-Unrouteable address 550 B002 Sender e-mail address invalid / Afzender e-mail adres bestaat niet in C:\Program Files\EasyPHP 3.0\www\registreer.php on line 99
Dan moet er toch ergens [email protected] staan wat ik kan veranderen in mijn eigen adres?
Maar waar?
'Gelieve:
Gewijzigd op 01/01/1970 01:00:00 door repelsteeltje
Dat komt omdat je lokaal werkt, online zal die echter wel gaan werken :)
'Jaron:
Dat komt omdat je lokaal werkt, online zal die echter wel gaan werken :)
En als ik dan via mijn IPadres die pagina open. Dan issie toch niet meer lokaal, of wel?
De melding blijft iig wel hetzelfde
>> http://82.101.226.171/registreer.php
Een gebruikersnaam van minimaal 2 tekens, is dat niet een beetje weinig? Als ik jou was zou ik een minimum van 4 of 5 tekens instellen.
'Yearupie:
Een gebruikersnaam van minimaal 2 tekens, is dat niet een beetje weinig? Als ik jou was zou ik een minimum van 4 of 5 tekens instellen.
2 tekens maar een zee aan mogelijkheden. Moet genoeg zijn volgens mij?
dat mail() probleempje is nu ook opgelost. Blijkt dat de mail verstuurt wordt naar het adres wat in $headers vermeld staat.
enniewee bedankt voor de reacties!





