ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
342
342
EMPFEHLEN
-
09.12.11 13:12 #1
Hallo,
ich möchte gerne eine Bankleitzahl auf Richtigkeit prüfen.
Dazu habe ich in der Datenbank alle echten Bankleitzahlen hinterlegt.
Nun habe ich ein Formular das wie folgt aufgebaut ist:
Dann nutze ich ein Java Script um die Bankleizhal zu überprüfen:HTML-Code:<div id="success">DANKE</div> <div id="ecbox" style="display:none;"> <form id="ec" name="ec" method="post"> <table width="100%" border="0" cellspacing="0" cellpadding="5"> <tr> <td width="160">Kontoinhaber</td> <td><?php echo $fname.' '.lname; ?></td> <td class="status"></td> </tr> <tr> <td>Kontonummer</td> <td><input type="text" name="ec_account_number" class="input" /></td> <td class="status"></td> </tr> <tr> <td>Bankleitzahl</td> <td><input type="text" name="ec_account_code" id="ec_account_code" class="input" /></td> <td class="status"></td> </tr> <tr> <td> </td> <td> <input type="hidden" name="ec_amount" /> <input type="hidden" name="ec_user_id" /> <input type="hidden" name="ec_product_id" /> <input type="hidden" name="ec_product_code" /> <input type="submit" name="submit" id="submit" value="Bezahlung senden" class="button"/></td> <td class="status"></td> </tr> </table> </form> </div>
Der PHP Code zum abgleichen sieht wie folgt aus:HTML-Code:<script id="validate" type="text/javascript"> $(document).ready(function() { // validate signup form on keyup and submit var validator = $("#ec").validate({ rules: { ec_account_code: { required: true, digits: true, remote: "/alpha/check_account_code/send/" } }, messages: { ec_account_code: { required: 'Dies ist ein Pflichtfeld.', digits: "Bitte nur Zahlen eingeben.", remote: "Diese Bankleitzahl ist nicht korrekt." } }, // the errorPlacement has to take the table layout into account errorPlacement: function(error, element) { if ( element.is(":radio") ) error.appendTo( element.parent().next().next() ); else if ( element.is(":checkbox") ) error.appendTo ( element.next() ); else error.appendTo( element.parent().next() ); }, // specifying a submitHandler prevents the default submit, good for the demo submitHandler: function() { var dataStr = $("#ec").serialize(); $.ajax({ type: "POST", url: "/alpha/ec/send/", data: dataStr, success: function(del){ $('#ecbox').slideUp(500, function() { $('#success').slideDown(500); }); } }); return false; }, // set this class to error-labels to indicate valid fields success: function(label) { // set as text for IE label.html(" ").addClass("checked"); } }); }); </script>
PHP-Code:include ("../settings.php");
include ("../connect.php");
$ec_account_code = trim(strtolower($_POST['ec_account_code']));
$ec_account_code = mysql_escape_string($ec_account_code);
$sql = "SELECT * FROM bank WHERE BANKLEITZAHL='".$ec_account_code."' LIMIT 1";
$query = mysql_query($sql);
$num = mysql_num_rows($query);
if ($num > 0) {
return true;
} else
return false;
Das Feld wird erfolgreich auf Zahlen geprüft, und es wird auch als Pflichtfeld markiert. Leider gibt mir das Skript grundsätzlich aus: "Diese Bankleitzahl ist nicht korrekt." Auch wenn ich eine korrekte Bankleitzahl eingebe. Wo mache ich einen Fehler?
Gruß
-
Falls du das hier benutzt http://bassistance.de/jquery-plugins...in-validation/ versuch es mal mit $_GET['ec_account_code'])
-
10.12.11 19:43 #3
Schade. Klappt leider immer noch nicht. Bzw. Jetzt gibt mir das Script nichtmal mehr die Meldung "Diese Bankleitzahl ist nicht korrekt." zurück.
-
11.12.11 17:13 #4
So ich habs nun hinbekommen.
Hier die Lösung:
Und hier der PHP CodeHTML-Code:<script id="validate" type="text/javascript"> $(document).ready(function() { jQuery.validator.addMethod("check_account_code", function(ec_account_code) { var isSuccess = false; $.ajax({ type: "POST", url: "/alpha/check_account_code/send/", data: "ec_account_code=" + ec_account_code, async: false, success: function(msg) { isSuccess = msg === "TRUE" ? true : false } }); return isSuccess; },""); var validator = $("#ec").validate({ rules: { ec_account_code: { required: true, digits: true, check_account_code: true } }, messages: { ec_account_code: { required: 'Dies ist ein Pflichtfeld.', digits: "Bitte nur Zahlen eingeben.", check_account_code: "Diese Bankleitzahl ist nicht korrekt." } }, // the errorPlacement has to take the table layout into account errorPlacement: function(error, element) { if ( element.is(":radio") ) error.appendTo( element.parent().next().next() ); else if ( element.is(":checkbox") ) error.appendTo ( element.next() ); else error.appendTo( element.parent().next() ); }, // specifying a submitHandler prevents the default submit, good for the demo submitHandler: function() { var dataStr = $("#ec").serialize(); $.ajax({ type: "POST", url: "/alpha/ec/send/", data: dataStr, success: function(del){ $('#ecbox').slideUp(500, function() { $('#success').slideDown(500); }); } }); return false; }, // set this class to error-labels to indicate valid fields success: function(label) { // set as text for IE label.html(" ").addClass("checked"); } }); }); </script>
PHP-Code:include ("../settings.php");
include ("../connect.php");
$ec_account_code = trim(strtolower($_REQUEST['ec_account_code']));
$ec_account_code = mysql_escape_string($ec_account_code);
$sql = "SELECT * FROM bank WHERE BANKLEITZAHL='".$ec_account_code."' LIMIT 1";
$query = mysql_query($sql);
if (mysql_num_rows($query)) {
echo "TRUE";
} else {
echo "FALSE";
}
Ähnliche Themen
-
Betrag auf Richtigkeit prüfen (preg_match)
Von kenguruh2002 im Forum PHPAntworten: 7Letzter Beitrag: 17.08.11, 11:51 -
Gleichung auf Richtigkeit prüfen
Von ChrisEU im Forum PHPAntworten: 3Letzter Beitrag: 09.08.09, 13:40 -
Prüfen, ob MySQL Datensatz der selbe beim Autorefresh
Von lisali im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 01.08.09, 08:31 -
Email auf Richtigkeit prüfen
Von sh0x im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 09.02.05, 17:17 -
Preis Angabe auf richtigkeit Prüfen
Von eViLaSh im Forum PHPAntworten: 8Letzter Beitrag: 08.06.04, 18:38





Zitieren

Login





