Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Formular automatisch mit php senden

Empfohlene Antworten

Veröffentlicht

kann mir jemand sagen wie ich ein formular automatisch senden kann.

gruß magicman

nein das formular soll verschiedene Kundeninformation aus einer mysql-datenbank holen und diese an ein Kreditkarteninstitut senden.

Ich habe das allerdings noch nie gemacht. über einen submit-button funktioniert das ganze, aber es soll automatisch laufen.

hier ist der quelltext

<head>

</head>

<style type="text/css">

<!--

.Stil4 {font-size: 10px}

-->

</style>

</head>

<?php

//Kunde.php4 schreibt die Kundendaten in die Datenbank

include("Kunde.php4");

//enthält die funktionen

require("functions.php4");

require("mainvar.php4");

require("get_local_vars.php4");

$Zufall = rand(10,99);

$auftragsnummer = hole_Auftragsnummer();

$Tag = Date ("d");

$Monat = Date("m");

$Jahr = Date("Y");

//Bestellnummer erzeugen

$bestellnummer = "$auftragsnummer$Zufall$Tag$Monat$Jahr";

hole_Kunde($Kundennum); //Gibt $Kunde[] zurück

?>

<body background='grafiken1/corbkgnd.gif'>

<div align="center">

<form action="https://select.worldpay.com/wcc/purchase" method="post" name="Worldpayform">

<p>

<input name="submit" type="submit" id="submit" value="Click here to proceed for your payment to the WORLDPAY-server" style="background-color: #0000FF; color: #FFFFFF; font-weight: bold; font-size: 12pt; text-decoration: underline; border: 4 inset #808080; margin-left: 0; margin-right: 0">

<input name="instId" type="hidden" id="instId" value="88485">

<input name="cartId" type="hidden" id="cartId" value="<?php echo"Order No $bestellnummer"; ?>">

<input name="amount" type="hidden" id="amount" value="<?php echo"",zahl_format($Gesamtsumme),""; ?>"> //Gesamtsumme aus $POST-Variable

<input name="currency" type="hidden" id="currency" value="GBP">

<input name="desc" type="hidden" id="desc" value="Printer supply order">

<input name="name" type="hidden" id="desc4" value="<?php echo"",$Kunde[Vorname]," ",$Kunde[Nachname9,""; ?>">

<input name="address" type="hidden" id="address" value="<?php echo"",$Kunde[strasse2]," ",$Kunde[strasse1],",",$Kunde[Ort],""; ?>">

<input name="postcode" type="hidden" id="name3" value="<?php echo"",$Kunde[PLZ],""; ?>">

<input name="country" type="hidden" id="postcode" value="<?php echo"$Kunde[land]"; ?>">

<input name="email" type="hidden" id="testMode" value="<?php echo"",$Kunde[Mail],""; ?>">

<input name="submit" type="submit" id="submit" value="senden"> //der button ist zum test von der Übergabe. soll automatisiert werden

</p>

</form>

</div>

</body>

hilft dir das weiter ?

die Daten werden auf der seite davor bereits bestätigt. und Das Kreditinstitut überprüft den Formularnamen.

Das Hauptproblem ist, das es eine Version gibt die mit Überweisung funktoniert, da ist an dieser stelle ende, und eine mit Kreditkarte.

Allerdings soll das hinten angehängt werden und damit nicht zu viel mehraufwand bei Änderungen ensteht muss das davor so bleiben wie es ist.

sonst würde ich das ganze auf der seite davor einbinden.

Original geschrieben von FinalFantasy

Bzw, irgendwie müssen die Daten ja eh erst bestätigt werden, soweit ich dass deinem Quelltext entnehmen konnte.

Vor allem wann soll das ausgeführt werden? Bei einem Bestimmten Ereignis oder Zeitgesteuert?

Den Aufruf der Seite selber könntest du auch so machen:

https://select.worldpay.com/wcc/purchase?Variable=$Variable1&Variable2=$Variable2

Wenns Zeitgesteuert sein soll, könntest du die Seite evt. per Cronjob (falls unter Linux) aufrufen (denke da an Lynx, hab das aber noch nie per Cron probiert).

So einfach macht es ein Kreditinstitut nicht. Die benutzen nur POST Variable. und in der Browserleiste die Variablen zu übergeben wäre doch GET oder nicht?

Original geschrieben von magicman1510

So einfach macht es ein Kreditinstitut nicht. Die benutzen nur POST Variable. und in der Browserleiste die Variablen zu übergeben wäre doch GET oder nicht?

Ja, stimmt. Das wußte ich natürlich nicht.

Ich blick noch nicht ganz wann das ausgeführt werden soll, aber vielleicht hilt dir der JavaScript-Befehl weiter:

document.formular.submit();

Das sollte einem klicken auf den Submitbuttonklick gleichkommen. Näheres findest du hier: http://selfhtml.teamone.de/javascript/objekte/forms.htm#submit

genau das ist es. Hätte ich selber drauf kommen sollen.

Naja jetzt bin ich schlauer

Danke

  • 3 Wochen später...

tach nochmal,

das Javascript ist ja ganz gut aber warum funzt es nicht. Gibt es vielleicht eine Einstellung im IE die aktiviert werdn muss?

die funktion wird aufgerufen allerdings erhalte ich vom IE die Fehlermeldung "Das Objekt unterstützt die Eigenschaft nicht"

zur sicherung nochmal der Quelltext des Javascipts

<script type="text/javascript">

<!--

function senden()

{

document.form1.submit();

}

//-->

</script>

der Aufruf erfolgt über onLoad

<body background="grafiken1/corbkgnd.gif" onload="senden()">

ciao

so wie ich das sehe, heißt dein formular nicht "form1" sondern "Worldpayform"

Den methodenaufruf willst du ja aber auf dein formular machen oder?

also document.Worldpayform.submit()

mach doch einfach am ende aller deiner ausgaben/operationen:


<script type="text/javascript">

<!--

document.Worldpayform.submit();

//-->

</script>


Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.