externe Funktion klappt nicht

Hallihallo Community,

so, ich weiß, dass man es hier ungern sieht wenn man Code von anderen benutzt und dann noch nicht mal weiß wie sie funktionieren.

Naja, ich probiers mal. Ich hab mir eine Funktion besorgt, die die Kreditkartennummer validiert. Das ganze hab ich von http://www.braemoor.co.uk/software/creditcard.php

Nun hab ich das ganze bei mir reingepackt via eines includes und rufe die Funktion so auf

PHP:
if (checkCreditCard ($_POST['cardnumber'], $_POST['cardname'], $ccerror, $ccerrortext))
{
$ccerrortext = 'This card has a valid format';
}

So meine Form sieht so aus:
PHP:
echo '<form action="index.php?section=pay&id=1" method="post">';

Button:
PHP:
echo '<br><input type="submit" name="continue" value="Continue">';

Die Funktion an sich findet ihr auf der Seite bzw. im Anhnag.
Ich bin mir hunderprozent sicher, dass die Funktion aufgerufen wird, da wenn ich im oberen Teil der Funktion ein echo 'bla' reinhau wird der auch geprinted.

Ich weiß wirklich nicht mehr weiter.
Grüße,
prinzschleifer
 

Anhänge

So,
die ganze Form sieht so aus:

PHP:
$months = array("January", "February","March", "April", "May", "June", "July","August", "September", "October","November", "December");
										
										 for ($i=0; $i<10; $i++) { 
										 $years[] = date("Y")+$i;
											}											
													
													echo '<form action="index.php?section=pay&id=1" method="post">';
										 			echo '<table width="500px" border="0" cellspacing="2" cellpadding="0">';
													echo '<tr>';

													echo '<td><input type="radio" name="cardtype" value="Visa"> VISA</td>';
													echo '<td align="left" valign="top"><input type="radio" name="cardtype" value="MasterCard"> MASTERCARD</td>';														
													echo '</tr>';													
													echo '<tr>';
													echo '<td><br>Card Holder Name<br><input type="text" name="cardholder"></td>';
													echo '</tr>';
													echo '<tr>';
													echo '<td><br>Credit Card Number<br><input type="text" name="cardnumber"></td>';
													echo '</tr>';
													echo '<tr>';
													echo '<td><br>Expires on<br><select name="month">';
													
													 foreach ($months as $count => $wert) {
													 	echo '<option value="'.($count+1).'">'.$wert.'</option>';
													}
													echo '</select>   <select name="year">';
													foreach ($years as $count => $wert) {
													 	echo '<option value="'.$wert.'">'.$wert.'</option>';
													}
													echo '</select></td>';
													echo '</tr>';
													
													
												echo '</table>';
												echo '<br><input type="submit" name="continue" value="Continue">';
												echo '</form>';


Der Aufruf findet so statt:
PHP:
										if($_REQUEST['continue']) {
											
												if (checkCreditCard ($_POST['cardnumber'], $_POST['cardname'], $ccerror, $ccerrortext))
																		{
																		$ccerrortext = 'This card has a valid format';
																		}
											}


Sorry für's Zumüllen.

Grüße,
prinzschleifer
 
Uh sorry, hab da oben wohl 2 Codeschnippsel zusammengetan, sprich, auch dein Vorschlag hat nichts gebracht:

hab das ganze vereinfacht und in eine datei gepackt:
test.php:
PHP:
<?

include "phpcreditcard.php";


if($_REQUEST['go']) {
	
  if (checkCreditCard ($_POST['cn'], $_POST['ct'], $ccerror, $ccerrortext)) {
    $ccerrortext = 'This card has a valid format';
  }
 }

echo '<form action="test.php" method="post">';
echo '<input type="text" name="cn">';
echo '<input type="text" name="ct">';
echo '<input type="submit" name="go" value="Continue">';
echo '</form>';

?>
Und so klappt das auch nicht. Wäre nett wenn mal jemand mal den Code bei sich ausprobieren könnte. Falls er nicht funktioniert muss ich das dann wohl leider rausnehmen, wäre halt ein nettes Feature.

Grüße,
prinzschleifer
 
Zuletzt bearbeitet:
Zurück