Parameterübergabe

zum dritten ma..
PHP:
<?php
ob_start();
setlocale(LC_TIME, "de_DE");
date_default_timezone_set("Europe/Berlin");
//$Seriennummer=$_POST['Seriennummer'];
//$MacAdresse=$_POST['Macadresse'];
$Datum = date('d-m-y');
$Uhrzeit = date('h-i-s');
$Trennzeichen= ("_");
$pflichtfelder = array("Vorname", "Nachname", "Email", "Betreff");
$values = array("Vorname");
$Nachname = array("Nachname");
$Email=array("Email");
$Betreff=array("Betreff");
$found = array();
$mail= array();
$text = array();
$Nachricht = $_POST["Nachricht"];
 if (!array_key_exists("speichern", $_POST)){
  $found = $pflichtfelder;
  foreach ($pflichtfelder as $name){
  $values[$name] = "";
  $Nachname[$name]="";
  $Email[$name]="";
  $Betreff[$name]="";
}
}
else {
 $ok = true;
foreach ($pflichtfelder as $name){
 if (array_key_exists($name, $_POST) && $_POST[$name]){
   array_push($found, $name);
   $values[$name] = $_POST[$name];
   $Nachname[$name]=$_POST[$name];
   $Nachname[$name]=$_POST[$name];
   $Email[$name]=$_POST[$name];
   $Betreff[$name]=$_POST[$name];
   }
else {
  $ok = false;
  $values[$name] = "";
   }
  }
}
if (!$ok) echo '<script type="text/javascript">alert("Bitte alle Felder ausfüllen!");</script>';
 else { echo '<script type="text/javascript">alert("Ihre Mail wurde versendet");</script>';
    $Datei=$values["Vorname"].$Trennzeichen.$Nachname["Nachname"].$Trennzeichen.$Datum.$Trennzeichen.$Uhrzeit.".txt";
    $File = fopen($Datei, "w+");
    fwrite($File,$Email["Email"]."\n\r".$Betreff["Betreff"]);
  //  fwrite($Seriennummer."\n\r".$Macadresse);
    fwrite($File,$Nachricht);
    fclose($File);
}
foreach ($pflichtfelder as $name){
 echo $name . ': <input name="' . $name . '" value="' . $values[$name] . '"';
 if (array_search($name, $found) === false) {
  echo ' class="toFill"';
}
echo "><br>\n";
}
?>
<textarea name="Nachricht" cols="40" rows="20"></textarea><br />
<input id ="Send" name="speichern" value="speichern" type="submit"><input type="reset" value="abbrechen">
<script type="text/javascript">
<!--
var Sekunden = 30;
var Buttonbeschriftung = "Abschicken";

document.getElementById('Send').disabled = true;

for(i = 1; i <= Sekunden; i++)
{
    window.setTimeout("ButtonAktualisieren(" + i + ")", i*1000);
}

window.setTimeout("ButtonFreigeben()", Sekunden*1000);

function ButtonAktualisieren(VergangeneSekunden)
{
    if(VergangeneSekunden == Sekunden)
    {
        document.getElementById('Send').value = Buttonbeschriftung;
    }
    else
    {
        Restsekunden = Sekunden-VergangeneSekunden;
        document.getElementById('Send').value = Buttonbeschriftung + " (" + Restsekunden + ") ";
    }
}
function ButtonFreigeben()
{
    document.getElementById('Send').disabled = false;
}
</script>
</div>
</form>
</body>
</html>
 
egal wie es rückt immer zurück ich will net jedes mal tab drücken da brauch ich ja 30 Minuten um den Code so hinzukriegn wie im VI -.-.

In der Adresszeile sollen stehn übergeben Variablen,
die ich dann in eine datei schreiben will.
 
PHP:
<?php
ob_start();
setlocale(LC_TIME, "de_DE");
date_default_timezone_set("Europe/Berlin");
//$Seriennummer=$_POST['Seriennummer'];
//$MacAdresse=$_POST['Macadresse'];
$Datum = date('d-m-y');
$Uhrzeit = date('h-i-s');
$Trennzeichen= ("_");
$pflichtfelder = array("Vorname", "Nachname", "Email", "Betreff");
$values = array("Vorname");
$Nachname = array("Nachname");
$Email=array("Email");
$Betreff=array("Betreff");
$found = array();
$mail= array();
$text = array();
$Nachricht = $_POST["Nachricht"];
 if (!array_key_exists("speichern", $_POST)){
  $found = $pflichtfelder;
  foreach ($pflichtfelder as $name){
  $values[$name] = "";
  $Nachname[$name]="";
  $Email[$name]="";
  $Betreff[$name]="";
}
}
else {
 $ok = true;
foreach ($pflichtfelder as $name){
 if (array_key_exists($name, $_POST) && $_POST[$name]){
   array_push($found, $name);
   $values[$name] = $_POST[$name];
   $Nachname[$name]=$_POST[$name];
   $Nachname[$name]=$_POST[$name];
   $Email[$name]=$_POST[$name];
   $Betreff[$name]=$_POST[$name];
   }
else {
  $ok = false;
  $values[$name] = "";
   }
  }
}
if (!$ok) echo '<script type="text/javascript">alert("Bitte alle Felder ausfüllen!");</script>';
 else { echo '<script type="text/javascript">alert("Ihre Mail wurde versendet");</script>';
    $Datei=$values["Vorname"].$Trennzeichen.$Nachname["Nachname"].$Trennzeichen.$Datum.$Trennzeichen.$Uhrzeit.".txt";
    $File = fopen($Datei, "w+");
    fwrite($File,$Email["Email"]."\n\r".$Betreff["Betreff"]);
  //  fwrite($Seriennummer."\n\r".$Macadresse);
    fwrite($File,$Nachricht);
    fclose($File);
}
foreach ($pflichtfelder as $name){
 echo $name . ': <input name="' . $name . '" value="' . $values[$name] . '"';
 if (array_search($name, $found) === false) {
  echo ' class="toFill"';
}
echo "><br>\n";
}
?>
<textarea name="Nachricht" cols="40" rows="20"></textarea><br />
<input id ="Send" name="speichern" value="speichern" type="submit"><input type="reset" value="abbrechen">
<script type="text/javascript">
<!--
var Sekunden = 30;
var Buttonbeschriftung = "Abschicken";

document.getElementById('Send').disabled = true;

for(i = 1; i <= Sekunden; i++)
{
    window.setTimeout("ButtonAktualisieren(" + i + ")", i*1000);
}

window.setTimeout("ButtonFreigeben()", Sekunden*1000);

function ButtonAktualisieren(VergangeneSekunden)
{
    if(VergangeneSekunden == Sekunden)
    {
        document.getElementById('Send').value = Buttonbeschriftung;
    }
    else
    {
        Restsekunden = Sekunden-VergangeneSekunden;
        document.getElementById('Send').value = Buttonbeschriftung + " (" + Restsekunden + ") ";
    }
}
function ButtonFreigeben()
{
    document.getElementById('Send').disabled = false;
}
</script>
</div>
</form>
</body>
</html>

Zur Frage: Ersetze alle "POST" durch "GET", dann werden die Daten über die URL übergeben.

Gruß
BK
 
PHP:
$Datum = date('d-m-y');
$Uhrzeit = date('h-i-s');
$Trennzeichen= ("_");
$pflichtfelder = array("Vorname", "Nachname", "Email", "Betreff");
$values = array("Vorname");
$Nachname = array("Nachname");
$Email=array("Email");
$Betreff=array("Betreff");
$found = array();
$mail= array();
$text = array();
$Nachricht = $_POST["Nachricht"];
 if (!array_key_exists("speichern", $_POST)){
  $found = $pflichtfelder;
  foreach ($pflichtfelder as $name){
  $values[$name] = "";
  $Nachname[$name]="";
  $Email[$name]="";
  $Betreff[$name]="";
}
}
else {
 $ok = true;
foreach ($pflichtfelder as $name){
 if (array_key_exists($name, $_POST) && $_POST[$name]){
   array_push($found, $name);
   $values[$name] = $_POST[$name];
   $Nachname[$name]=$_POST[$name];
   $Email[$name]=$_POST[$name];
   $Betreff[$name]=$_POST[$name];
   }
else {
  $ok = false;
  $values[$name] = "";
   }
  }
}
if (!$ok) echo '<script type="text/javascript">alert("Bitte alle Felder ausfüllen!");</script>';
 else { echo '<script type="text/javascript">alert("Ihre Mail wurde versendet");</script>';
    $Datei=$values["Vorname"].$Trennzeichen.$Nachname["Nachname"].$Trennzeichen.$Datum.$Trennzeichen.$Uhrzeit.".txt";
    $File = fopen($Datei, "w+");
    fwrite($File,$Email["Email"]."\n\r".$Betreff["Betreff"]);
  //  fwrite($Seriennummer."\n\r".$Macadresse);
    fwrite($File,$Nachricht);
    fclose($File);
}
foreach ($pflichtfelder as $name){
 echo $name . ': <input name="' . $name . '" value="' . $values[$name] . '"';
 if (array_search($name, $found) === false) {
  echo ' class="toFill"';
}
echo "><br>\n";
}
?>
<textarea name="Nachricht" cols="40" rows="20"></textarea><br />
<input id ="Send" name="speichern" value="speichern" type="submit"><input type="reset" value="abbrechen">
<script type="text/javascript">
<!--
var Sekunden = 30;
var Buttonbeschriftung = "Abschicken";
document.getElementById('Send').disabled = true;

for(i = 1; i <= Sekunden; i++)
{
    window.setTimeout("ButtonAktualisieren(" + i + ")", i*1000);
}

window.setTimeout("ButtonFreigeben()", Sekunden*1000);

function ButtonAktualisieren(VergangeneSekunden)
{
    if(VergangeneSekunden == Sekunden)
    {
        document.getElementById('Send').value = Buttonbeschriftung;
    }
    else
    {
        Restsekunden = Sekunden-VergangeneSekunden;
        document.getElementById('Send').value = Buttonbeschriftung + " (" + Restsekunden + ") ";
    }
}
function ButtonFreigeben()
{
    document.getElementById('Send').disabled = false;
}
</script>
</div>
</form>
</body>
</html>
 
und dann muss ich wohl noch Textfelder machen die nicht sichtbar sind für Users hab ich recht?
 
Parameter sowohl per POST als auch GET das geht nicht.
Damit die 2 gewünschten Werte im Broswer angezeigt werden, könntest du sie zur Not ja wirklich in der Titelleiste ausgeben (wenn das hilft).

PHP:
<title><?php echo "Mac-Adresse " .$_POST['Macadresse'] ." - Seriennummer " .$_POST['Seriennummer']; ?></title>

Wenn diese Werte "hart" einprogrammiert werden sollen, dürften versteckte Felder vermutlich die beste Lösung dafür sein.
 
Nur eine kurze Zwieschenfrage:

Die 2 Get-Variablen sind keine änderbare Felder (Also keine Eingabefelder)
Die Post-Varibalen sind Felder die der User eingibt?

Wenn ja, musst du es halt so kombinieren, dass die Get-Varibalen in den URL-String setzt, die du im Form-Tag definierst

In diesem Beispiel hast du die 2 Get-Variablen getVar1 und getVar2 in der Action des Formulars. Die Post-Variable postVar als Eingabefeld innerhalb des Forms.
HTML:
<form action="test.php?getVar1=1&getVar2=2" method="POST">
    <input id="postVar" name = "postVar" type="text" />
    <input id ="Send" name="submit" value="submit" type="submit">
</form>
<hr />
<?php
    var_dump($_POST, $_GET);
?>

Ausgabe des var_dump():
Code:
array(2) {
  ["postVar"]=>
  string(3) "345"
  ["submit"]=>
  string(6) "submit"
}
array(2) {
  ["getVar1"]=>
  string(1) "1"
  ["getVar2"]=>
  string(1) "2"
}
 
Zuletzt bearbeitet:
ok ne isses doch net lässt sich net eintragen in meinem Formular :/
also werd ichs wohl doch mit feldern die benutzer nicht sieht (und ich iwie auch nicht -.-) versuchen
 
Zurück