Hallo allemaal , ik heb een aanmeld systeem op mijn website waarbij ik het wachtwoord automatisch genereer maar nu kom ik er dus achter dat er iets niet goed gaat met de mailing van de login gegevens , bij sommige providers kom de mail niet binnen heel apart maar ok , nu wil ik mijn systeem aanpassen wat op zich goed gaat maar heb ik een if{ else} verkeerd geplaatst vermoed ik , ik zit er al uren naar te kijken maar ik zie de fout helaas niet ik hoop dat iemand hem wel ziet en mij erop kan wijzen alvast bedankt


<?
if ( !@include('_config.php') )
{
die('Fatal Error: Please contact admin if you keep getting this error.');
}
$msg1 = '';
if(getenv('REQUEST_METHOD') == 'POST')
{
if ( isset($_POST['aanmelden_y']) )
{
if ( isset($_POST['signup_akkoord']) )
{
if ( !empty($_POST['signup_login']) && !empty($_POST['signup_email']) && !empty($_POST['signup_wachtwoord']) )
{
$result = mysql_query('SELECT id FROM users WHERE ip=\''. $clientIP.'\'');
if ( mysql_num_rows($result) == 0 )
{
$wachtwoord = $_POST['signup_wachtwoord'];
if ( preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z]{2,6}$/', $wachtwoord) )
{
$email = $_POST['signup_email'];
if ( preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z]{2,6}$/', $email) )
{
$result = mysql_query('SELECT user_id FROM newsletter WHERE email=\''.$email.'\'');
if ( mysql_num_rows($result) == 0 )
{
$login = $_POST['signup_login'];
if ( preg_match('/^[a-zA-Z0-9_-]{3,16}$/', $login) )
{
$result = mysql_query('SELECT id FROM users WHERE login=\''.$login.'\'');
if ( mysql_num_rows($result) == 0 )
{
$refferal_id = 0;
$refferal = ( isset($_GET['crimineeltje']) ) ? trim($_GET['crimineeltje']) : '' ;
if ( preg_match('/^[a-zA-Z0-9_-]{3,16}$/', $refferal) )
{
$result = mysql_query('SELECT id FROM users WHERE login=\''.$refferal.'\'');
if ( $row = mysql_fetch_assoc($result) )
{
$refferal_id = $row['id'];
}
}
mysql_query('');
$user_id = mysql_insert_id();
mysql_query('INSERT INTO users_login (user_id,pass)VALUES(' . $user_id . ',\''.md5($wachtwoord).'\')')OR die(mysql_error());
sms(1,$user_id, "Welkom", "Welkom $login<br>
$msg1 = 'Je bent zojuist aangemeld op de website<br><br>Hieronder vind u de login gegevens <br><br><b><font color="#00ff00">Login: '.$login.'<br>Wachtwoord: '.$wachtwoord.'</font></b>';
}
else
{
$msg1 = 'Er is al iemand met deze login.';
}
}
else
{
$msg1 = 'Je login mag alleen letters, nummers, _ en - bevatten.';
}
}
else
{
$msg1 = 'Dit email adres is al gebruikt.';
}
}
else
{
$msg1 = 'Je moet je geldig email adres geven.';
}
}
else
{
$msg1 = 'Er is al iemand geregistreerd op dit ip.';
}
//nieuwe else controle voor ww
}
else
{
$msg1 = 'Wachtwoord niet goed.';
}
// einde nieuwe controle voor ww
}
else
{
$msg1 = 'Je hebt niet alles ingevoerd.';
}
}
else
{
$msg1 = 'Je hebt de regels niet geaccepteerd.';
}
}
}
?>
Michael Visser op 19/09/2017 07:59:59

.. nu kom ik er dus achter dat er iets niet goed gaat met de mailing ..
.. maar heb ik een if{ else} verkeerd geplaatst vermoed ik ..


Niet echt duidelijk.
En wat is nou het probleem?
ik heb het script omgebouwd dat men zelf een wachtwoord kan invullen maar blijkbaar heb ik een if{else} niet goed staan want hij geeft aan er is al een account op dit ip wat onmogelijk is want mijn ip staat niet in het systeem
Waar komt $ClientIP vandaan?

Waarom een beperking op IP-adressen als ik vragen mag? Een IP is vaak gebonden aan een netwerk, en niet aan een computer.

Verder ben ik benieuwd waarom je nog mysql-functies gebruikt. In PHP 7 moet je mysqli of PDO gebruiken.
Regel 71 en 77 wisselen.
Ga verder...
en in config staat $clientIP = $_SERVER['REMOTE_ADDR'];

maar dat is het probleem niet , uhmm ik heb de regels omgedraaid nu geeft hij aan wachtwoord niet goed , lijkt me toch wel goed te gaan of zie ik het nu verkeerd ?

$wachtwoord = $_POST['signup_wachtwoord'];
if ( preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z]{2,6}$/', $wachtwoord) )
{


html gedeelte heb ik
<label>Wachtwoord:</label><input type="text" name="signup_wachtwoord" />

als wachtwoord heb ik gebruikt qwerty123789
Een wachtwoord met een (verouderde) reguliere expressie voor e-mail?? Dan zal qwerty123789 niet werken, nee.

Met andere woorden: Je staat alleen wachtwoorden toe in de vorm van een e-mailadres. En dat klopt niet.
nee idd dat klopt niet nu zie ik het ook haha , maar je zegt (verouderde) reguliere expressie voor e-mail kan je dat nader omschrijven ? misschien dat dat mijn probleem met mailen wel is ?
Wat is je mailscript?

Reageren