Radiobutton an PHP übergeben

AndivomBerg

Mitglied
Grüß Euch!

Ich habe ein kleines, aber konkretes Problem. Ich habe ein Kontaktformular um Radiobuttons erweitert, nun aber Probleme, das an mein PHP-File zu übergeben, damit es ausgewertet wird...

Mein Action Script:

PHP:
if (s_nachricht == 1 && s_nachname == 1 && s_mail == 1) {
        gesendet = "";
        s_body = 2;
        s_nachname = 2;
        s_mail = 2;
        var sel = (_root.first_rb.selected == true ) ? 1 : (_root.second_rb.selected == true) ? 2 :   (_root.third_rb.selected == true) ? 3 : 0;//1, 2 oder 3
 
        //loadVariablesNum("contact.php", 0, "POST");

        lv = new LoadVars();
        lv.sel = sel;
        lv.mail =  s_mail;//etc
        lv.sendAndLoad("contact.php",lv,"POST");

        gotoAndStop(2);
    }

..und die, wie ich glaube, Abfrage im PHP:

PHP:
$u_name		  = $_POST["nachname"];
$u_mail		  = $_POST["mailfrom"];
$u_phone		  = $_POST["phone"];
$u_message	= $_POST["body"];
$datestamp	= date("d.m.Y - H:i");

$empfaenger = array('Damir<andi@online.de>');
$empfaenger2 = array('Damir<'.$u_mail.'>');
$absender = 'Andi<andi@online.de>';
$reply = 'Andi<andi@online.de>';
$subject = 'eMail Nr: '.$wert.' vom '.$datestamp.'';
$subject2 = 'Ihre Anfrage vom '.$datestamp.'';

$u_id 		= $_SERVER['REMOTE_ADDR'];
$u_host		= gethostbyaddr($_SERVER['REMOTE_ADDR']);

Wahrscheinlich müsste ich was in der Art von

$u_name = $_POST["first_rb"];

ergänzen, aber das funktioniert nicht. In einem andrem Forum hat man mir gesagt, $u_name sei eine Referenzvariable auf den empfangenen String. Damit kann ich aber nichts anfangen...

Wäre um jede Hilfe dankbar.

Viele Grüße,
Andi
 
Moin,

ich bin des Flashens leider nicht mächtig, aber rein von der Logik her würde ich doch denken, dass du diese Variable in PHP per $_POST['sel'] ansprechen musst :-(
 
In PHP ist die Variable $_POST['sel'] automatisch vorhanden, wenn du das Formular sendest(per POST)...du sprichst sie einfach so an.

Worauf ich hinauswollte:

Code:
var sel = (_root.first_rb.selected == true ) ? 1 : (_root.second_rb.selected == true) ? 2 :   (_root.third_rb.selected == true) ? 3 : 0;//1, 2 oder 3
 
        //.....

        lv.sel = sel;

Das rot markierte ist meines Erachtens der Name der Flash-Variable, die du dort sendest, und nicht first_rb

In PHP kannst du dann mit $_POST['sel'] arbeiten, bspw.: so
PHP:
<?php
if(isset($_POST['sel']))
  {
    echo "'sel' wurde gesendet und hat den Wert ".$_POST['sel'];
  }
else
  {
    echo "'sel' wurde nicht gesendet";
  }
?>
 
Ah so! Das macht Sinn!

Ok, ich habs mir jetzt so zusammengestöpselt. Mein PHP:

PHP:
$u_name		  = $_POST["nachname"];
$u_auswahl		  = $_POST["sel"];
$u_mail		  = $_POST["mailfrom"];
$u_phone		  = $_POST["phone"];
$u_message	= $_POST["body"];
$datestamp	= date("d.m.Y - H:i");

$empfaenger = array('Damir<andi@online.de>');
$empfaenger2 = array('Damir<'.$u_mail.'>');
$absender = 'Andi<andi@online.de>';
$reply = 'Andi<andi@online.de>';
$subject = 'eMail Nr: '.$wert.' vom '.$datestamp.'';
$subject2 = 'Ihre Anfrage vom '.$datestamp.'';

$u_id 		= $_SERVER['REMOTE_ADDR'];
$u_host		= gethostbyaddr($_SERVER['REMOTE_ADDR']);

if(isset($_POST['sel']))
  {
    echo "'sel' wurde gesendet und hat den Wert ".$_POST['sel'];
  }
else
  {
    echo "'sel' wurde nicht gesendet";
  } 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$message = utf8_encode();

$message = '
<table border="1" cellpadding="3" width="584" bordercolor="#C0C0C0" cellspacing="0" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0" bgcolor="#C0C0C0">
  <tr>
    <td width="32" bgcolor="#C0C0C0" bordercolor="#C0C0C0" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0">&nbsp;</td>
    <td width="530" bgcolor="#C0C0C0" bordercolor="#C0C0C0" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0"><font face="Tahoma" size="2" color="#FFFFFF"><b>Email
      Nr. '.$wert.' vom: '.$datestamp.'</b></font></td>
  </tr>
</table>

<table border="0" cellpadding="3" width="584">
  <tr>
    <td width="27"></td>
    <td width="535"><br>
      <font face="Tahoma" size="2">Name: '.$u_name.'<br>
      mail:&nbsp;&nbsp; <a href="mailto:'.$u_mail.'">'.$u_mail.'</a><br>
	  Anfrage:&nbsp;&nbsp; '.$u_auswahl.'</a><br>
      <br>
      <br>
      Nachricht:<br>
      '.$u_message.'<br>
      <br>
      <br>
      <br>
      ______________________________________<br>
      <br>
      <b>IP Adresse User:</b><br>
      '.$u_id.'<br>
      <b>Host User:</b><br>
      '.$u_host.'<br>
      <b>Betriebsystem User:</b><br>
      '.$HTTP_USER_AGENT.'</font></td>
  </tr>
</table>
';

Und mein AS:

PHP:
stop();
System.useCodepage = true;
///////////////////////////////////////////
_root.signalcontact = 0;
nachname = "name";
mailfrom = "mail";
body = "message";
///////////////////////////////////////////
loeschen.onRelease = function() {
	nachname = "name";
	mailfrom = "mail";
	body = "message";
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
name_clikk.onSetFocus = function() {
	if (nachname == "name") {
		nachname = "";
	}
};
name_clikk.onKillFocus = function() {
	if (nachname == "") {
		nachname = "name";
	}
};
mail_clikk.onSetFocus = function() {
	if (mailfrom == "mail") {
		mailfrom = "";
	}
};
mail_clikk.onKillFocus = function() {
	if (mailfrom == "") {
		mailfrom = "mail";
	}
};
nach_clikk.onSetFocus = function() {
	if (body == "message") {
		body = "";
	}
};
nach_clikk.onKillFocus = function() {
	if (body == "") {
		body = "message";
	}
};
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
senden.onPress = function() {
	if (body === "message" || body === "Ihren Text bitte!" || body === "") {
		body = "Ihren Text bitte!";
	} else {
		s_nachricht = 1;
	}
	if (nachname === "name" || nachname === "Ihren Namen bitte!" || nachname === "") {
		nachname = "Ihren Namen bitte!";
	} else {
		s_nachname = 1;
	}
	if (mailfrom.indexOf("@") == -1 || mailfrom.indexOf(".") == -1 || mailfrom == "mail") {
		mailfrom = "unbekannte E-mail";
	} else {
		s_mail = 1;
	}
	if (s_nachricht == 1 && s_nachname == 1 && s_mail == 1) {
        gesendet = "";
        s_body = 2;
        s_nachname = 2;
        s_mail = 2;
        var sel = (_root.hochzeit.selected == true ) ? 1 : (_root.nacht.selected == true) ? 2 :   (_root.allgemein.selected == true) ? 3 : 0;//1, 2 oder 3
 
        //loadVariablesNum("contact.php", 0, "POST");

        lv = new LoadVars();
        lv.sel = sel;
        lv.mail =  s_mail;//etc
        lv.sendAndLoad("http://www.gasthaus-gehrlein.de/contact.php",lv,"POST");

        gotoAndStop(2);
    }  
};

Leider wird der Wert in der Email nicht ausgegeben... :-(
 
Zuletzt bearbeitet:
Welche Email denn...ich sehe dort nirgends eine Anweisung, die eine Mail sendet:eek:

Gibt das PHP-Skript denn nun überhaupt den Wert von sel aus?
 
Sorry, den zweiten Teil des PHP hab ich nicht dazugeschrieben:

PHP:
// Baut Header der Mail zusammen //////////////////////////////////////////////////////////////////////////////////////////////////////
$headers .= 'From:' . $absender . "\n";
$headers .= 'Reply-To:' . $reply . "\n"; 
$headers .= 'X-Mailer: PHP/' . phpversion() . "\n"; 
$headers .= 'X-Sender-IP: ' . $REMOTE_ADDR . "\n"; 
$headers .= "Content-type: text/html\n";

// Extrahiere Emailadressen
$empfaengerString = implode(',', $empfaenger);
$empfaengerString2 = implode(',', $empfaenger2);


// mail an Webmaster //////////////////////////////////////////////////////////////////////
mail($empfaengerString, $subject, $message, $headers);


// mail an User ////////////////////////////////////////////////////////////////////////////////
mail($empfaengerString2, $subject2, $message2, $headers);


// Flashsignal  ////////////////////////////////////////////////////////////////////////////////
$signal=1;
echo "&signalcontact=$signal";

Ohne die Radiobuttons funktioniert alles. Für die RBs habe ich im PHP nun dies ergänzt:

$u_auswahl = $_POST["sel"];

und

Anfrage:&nbsp;&nbsp; '.$u_auswahl.'</a>

Aber it goes leider ned.. :-(
 
Füge mal jenes ganz am Anfang des PHP-Skriptes ein und Poste dann, was dort ausgegeben wird:
PHP:
<pre>
<?php
print_r($_POST);
die();
?>
 
Das Kontaktformular funktioniert damit nicht mehr, und wenn ich die Datei direkt im Browser aufrufe, erscheint das:

PHP:
Array
(
)

Hilft Dir das weiter?
 
Zurück