Flashhilfe.de - Flash Community

Kontaktformular mit Newslettereintragung

 


AntwortenRegistrieren Seite1  

derschan#1
Benutzerbild von derschan
Beiträge: 6
Registriert: Sep 2006

02.01.2007, 13:33

Hi,

ich habe ein Kontaktformular mit Textfeldern etc. und einem Kontrollkästchen das man anklicken kann,
wenn man einen Newsletter bestellen will. Alles funktioniert, nur soll wenn das Kontrollkästchen angeklickt
ist, alles an eine weitere eMail-Adresse verschickt werden.

Auf dem Send-Button ist
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?
on 
(release) {
    if (
signal != && MailFrom .indexOf("@") !=-&& MailFrom .indexOf(".") !=-&& Subject !="" && Body !="")
    {
       
signal=2;
       
loadVariablesNum ("flaform.php"0"POST");
    }

   
   
    if (
Body == "")
    {
       
mc.ausgabe "your question please";
    }
   
   
    if (
street == "")
    {
       
mc.ausgabe "your street please";
    }
       
   
    if (
city == "")
    {
       
mc.ausgabe "your city please";
    }
   
   
    if ( 
MailFrom .indexOf("@") ==-||  MailFrom .indexOf(".") ==-1)
    {
       
mc.ausgabe "your eMail please";
    }

?>


im Schlüsselbild darüber
PHP:
1
2
3
4
5
6
7
<?
fscommand 
("allowscale""false");
MailFrom="";
thename="";
Body=""
?>


und in der flaform.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php



$MailTo
="info@terlemez.org";

mail($MailTo"$_POST[city] $_POST[street] (from $_POST[thename] $_POST[surename])"$_POST[Body], "From: $_POST[MailFrom]");
#
#
# Autoresponder   #############################################################
#
#
       
$filename "answer.txt";
       
$fd fopen$filename"r" );
       
$contents fread$fdfilesize$filename ) );
       
fclose$fd );
       
mail"$_POST[MailFrom]""Thank you for your eMail""$contents\n\n",
             
"From:info@terlemez.org\n" );
#
#
# Flashsignal Variable   ######################################################
#
#
$signal=1;
echo 
"signal=$signal";
#
#
###############################################################################
?> 


Auf dem Kontrollkästchen steht nichts. Ich habe echt überhaupt keinen
Plan, wie das gehen soll. Vielleicht kannst du mir weiterhelfen... Hier alles
nochmal in der .zip: http://www.terlemez.org

Danke!

CIX88#2
Benutzerbild von CIX88
Beiträge: 261
Registriert: Feb 2005

02.01.2007, 14:03

Setzt mal ein error_reporting(E_ALL); an den Anfang von deinem PHP-Script.
Dann sollten dir einige Fehler angezeigt werden.

Was du da zusammen getippt hast, kann so nicht wirklich funktionieren.

[http://www.cix88.de]
Geändert von CIX88 am 02.01.07 um 14:04 Uhr
derschan#3
Benutzerbild von derschan
Beiträge: 6
Registriert: Sep 2006

Themenautor/in

02.01.2007, 14:11

hmmm... ok, mache ich. komischer weise funktioniert das alles, bis auf das, das
im flash "wurde gesendet" angezeigt wird...

derschan#4
Benutzerbild von derschan
Beiträge: 6
Registriert: Sep 2006

Themenautor/in

02.01.2007, 15:02

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
Notice
Undefined indexcity in /homepages/4/d171034649/htdocs/flaform.php on line 8

Notice
Undefined indexstreet in /homepages/4/d171034649/htdocs/flaform.php on line 8

Notice
Undefined indexthename in /homepages/4/d171034649/htdocs/flaform.php on line 8

Notice
Undefined indexsurename in /homepages/4/d171034649/htdocs/flaform.php on line 8

Notice
: Use of undefined constant Body assumed 'Body' in /homepages/4/d171034649/htdocs/flaform.php on line 8

Notice
Undefined indexBody in /homepages/4/d171034649/htdocs/flaform.php on line 8

Notice
Undefined indexMailFrom in /homepages/4/d171034649/htdocs/flaform.php on line 8

Notice
Undefined indexMailFrom in /homepages/4/d171034649/htdocs/flaform.php on line 18
signal
=1
?>


das kommt dann alles.... was bedeutet das?

CIX88#5
Benutzerbild von CIX88
Beiträge: 261
Registriert: Feb 2005

03.01.2007, 08:48

Jo jetzt kannst du alle Fehler sehen, die noch im Scipt vorhanden sind.

> Notice: Undefined index: city
Die kommt von $_POST[city]

Richtig ist aber $_POST['city'], man beachte die Anführungszeichen.
PHP erkennt das sonst nicht richtig, siehe Fehlermeldung.

> "From: $_POST[MailFrom]"
Besser so: "From: ".$_POST['MailFrom']

> Notice: Use of undefined constant Body
> $_POST[Body]

PHP denke, es wäre eine Konstante, ist es aber nicht, deshalb:
$_POST['Body']

Die ganze Zeile ist unsauber:
mail($MailTo, "$_POST[city] $_POST[street] (from $_POST[thename] $_POST[surename])", $_POST[Body], "From: $_POST[MailFrom]");

Mal versuchen etwas zu ordnen:

mail(
$MailTo,
$_POST['city'].$_POST['street'] . '(from'. $_POST['thename'].$_POST['surename'] .')',
$_POST['Body'],
"From: ".$_POST['MailFrom']
);

> mail( "$_POST[MailFrom]", ...

Müsste so aussehen:

mail( $_POST['MailFrom'] , ....

Sind alles nur Kleinigkeiten, können aber große Wirkungen verursachen !

[http://www.cix88.de]
derschan#6
Benutzerbild von derschan
Beiträge: 6
Registriert: Sep 2006

Themenautor/in

03.01.2007, 09:58

ersteinmal danke für deine antwort!

ich habe das jetzt mal so gemacht wie du mir geschrieben hast:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
error_reporting
(E_ALL);


$MailTo="test@terlemez.org";   
mail(
$MailTo,
$_POST['city'].$_POST['street'] . '(from'$_POST['thename'].$_POST['surename'] .')',
$_POST['Body'],
"From: ".$_POST['MailFrom']
); 
#
#
# Autoresponder   #############################################################
#
#
       
$filename "answer.txt";
       
$fd fopen$filename"r" );
       
$contents fread$fdfilesize$filename ) );
       
fclose$fd );
       
mail$_POST['MailFrom'], "Thank you for your eMail""$contents\n\n",
             
"From:test@terlemez.org\n" );
#
#
# Flashsignal Variable   ######################################################
#
#

if($_POST['select'] == "true") {
   
mail("test@terlemez.org");


$signal=1;
echo 
"signal=$signal";
#
#
###############################################################################

?>


daraufhin kommen diese fehlermeldungen:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Notice: Undefined index: city in /homepages/4/d171034649/htdocs/flaform.php on line 9

Notice: Undefined index: street in /homepages/4/d171034649/htdocs/flaform.php on line 9

Notice: Undefined index: thename in /homepages/4/d171034649/htdocs/flaform.php on line 9

Notice: Undefined index: surename in /homepages/4/d171034649/htdocs/flaform.php on line 9

Notice: Undefined index: Body in /homepages/4/d171034649/htdocs/flaform.php on line 10

Notice: Undefined index: MailFrom in /homepages/4/d171034649/htdocs/flaform.php on line 11

Notice: Undefined index: MailFrom in /homepages/4/d171034649/htdocs/flaform.php on line 23

Notice: Undefined index: select in /homepages/4/d171034649/htdocs/flaform.php on line 33
signal=1
Geändert von derschan am 03.01.07 um 10:00 Uhr
burnZ#7
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

03.01.2007, 12:37

Undefined Index bedeuted, das der Wert nicht existiert. Dieses Mailformular kommt mir übrigens sehr stark bekannt vor. Genau dieses musste ich in einem Auftrag umkrempeln und bugfixen bis zum geht nicht mehr. Ist glaube ich aber auch ziehmlich alt.

Undefined Index kannst du dir vorstellen wie:

if(!key_exists('city', $_POST)){
    echo "Notice: Undefined index: city in .....";
}

Mit anderen Worten kommen die Daten nicht an.


Das Skript muss eh im absoluten Vollrausch geschrieben worden sein xD mal sind gewöhnliche Variablen groß geschrieben, mal klein usw...

Achja! Und:

Notice: Use of undefined constant Body - assumed 'Body' in /homepages/4/d171034649/htdocs/flaform.php on line 8

Bedeuted, das eine undefinierte Konstante zum Einsatz kam. Normalerweise wird diese dann als String gewertet:
PHP:
1
2
3
4
5
6
7
8
<?
echo Body// gibt "Body" aus.

define('Body' 'My Sexy Body!');

echo 
Body// gibt "My Sexy Body!" aus
?>


Edit: Sorry CIXX...du hast ja das meiste davon bereits gesagt sehe ich,
allerdings wie gesagt: Ich hatte GENAU das Teil auch schob beruflich vorliegen und es lief hinten und vorne nicht. Soviel kann ich schon mal sagen :P
Geändert von burnZ am 03.01.07 um 12:52 Uhr
derschan#8
Benutzerbild von derschan
Beiträge: 6
Registriert: Sep 2006

Themenautor/in

03.01.2007, 16:51

ohne die änderungen, funktionierts einwandfrei, keinen plan warum:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

$MailTo
="mailto@terlemez.org";

mail($MailTo"$_POST[city] $_POST[street] (from $_POST[thename] $_POST[surename]) "$_POST[Body], "From: $_POST[MailFrom]");

# Autoresponder   #############################################################

       
$filename "answer.txt";
       
$fd fopen$filename"r" );
       
$contents fread$fdfilesize$filename ) );
       
fclose$fd );
       
mail"$_POST[MailFrom]""Thank you for your eMail""$contents\n\n",
             
"From:info@terlemez.org\n" );

# Flashsignal Variable   ######################################################

$signal=1;
echo 
"signal=$signal";

###############################################################################

?>


wo muss folgendes hin, damit das mit dem newsletter-
kontrollkästchen funktioniert?:

PHP:
1
2
3
4
<?
$_GET
[select]
?>


PHP:
1
2
3
4
5
6
<?
if($_GET[select] == "true") {
   
mail("zweiteemail@terlemez.org");
}
?>


danke!
Geändert von derschan am 03.01.07 um 17:03 Uhr
CIX88#9
Benutzerbild von CIX88
Beiträge: 261
Registriert: Feb 2005

07.01.2007, 13:54

> Edit: Sorry CIXX...du hast ja das meiste davon bereits gesagt sehe ich
Ist kein Problem :-)

> echo Body; // gibt "Body" aus.
Notice: Use of undefined constant Body - assumed 'Body'

Eigendlich denk PHP da sofort an eine Konstante.
Steht auch irgendwo im PHP-Handbuch.
Betrachten wir das als Schlamperhaftigkeit in der Typen-Verwaltung.
Andere Programmiersprachen sind da nicht so großzügig (z.B. Flash-AS) :-)

Und dies könnte sich bei Weiterentwicklungen von PHP auch noch ändern.
Deshalb würde ich mich nicht darauf verlassen, sondern gleich richtig schreiben.

> $_GET[select]
Auch das ist eigentlich nicht sauber.

> if($_GET[select] == "true") {
Ginge auch so: if( isset($_GET[select]) ) { ...

[http://www.cix88.de]
Geändert von CIX88 am 07.01.07 um 13:55 Uhr
burnZ#10
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

07.01.2007, 18:48

$_GET['select'] bitte :P

Ausserdem würde

$_GET['select'] === true auch undefined index bedeuted :P

Entweder isset wie du oder

if(key_exists('select', $_GET) && $_GET['select'] === true){
    // bla
}

hab aber noch was im angebot, poste es gleich ma

burnZ#11
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

07.01.2007, 19:06

So...ich hatte die Tage mal so ein kleines Projekt auf Grund der großen Nachfrage begonnen. Eine Mail API quasy *g

Für ein Basic Setup brauch man nicht mehr tun als:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Mail Objekt erzeugen
var mail:Mail = new Mail('Mail.php');
   
   // Optionen setzen
   mail.setOption('to', email);
   mail.setOption('subject', 'Mail-0.4 BETA | Beispielformular');

   // Inputs anmelden
   mail.username  = username;
   mail.title    = title;
   mail.email    = email;
   mail.comment  = comment;
   mail.question1 = question1;
   mail.question2 = question2;
   
// Button Event
button.addEventListener("click", function(){ mail.send(); });


Da ich noch keine Lust und Zeit für ne Doku hatte hier kleine Erklärung.
email,username sind TextInputs (ja die Input Instanzen selbst)
question1 ist ne Combobox question2 ne Radio Button Group (ja hier auch die Objekte selbst)
comment ist ne TextArea.

Man kann auch Strings übergeben allerdings sind Objekte vorteilhafter weil beim senden immer der aktuelle Wert genommen wird.

die Mail.php wird natürlich mitgeliefert.

PHP Seitig lässt sich ein Template Ordner für Emails definieren im mitgelieferten Beispiel findet sich ein Template passend zum Code oben:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
Hall
&ouml;chen [title] [username],

wenn Sie diese Email erhalten habenhat Ihr Mail Test
funktioniert
!

Ihre Email: [email]

Ihre Antworten:
   
Gef&auml;llt Ihnen meine Mail L&ouml;sung f&uuml;r Flash? [question1]
   
W&uuml;rden Sie gerne helfen Mail zu verbessern? [question2]

Ihre Kommentar:
[
comment]

----------------------------------------------------
Muster GmbHMusterstr12312345 Musterstadt
?>


Darüber hinaus gibts ne Mail.ini für verschiedene Einstellungen und Security.

Hier nochmal das Komplette Mail Beispiel (Flash Seitig) da es auch komplexer\genauer geht:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import flash.external.*

// Event Handler Funktion
function eventHandler(event:Number, object:Object):Void {
   switch(event){
      
      // wenn mail gesendet wird...
      case Mail.ON_SEND:
         overlay._visible = true;
         button.enabled  = false;
         break;
      
      // wenn senden erfolgreich...
      case Mail.ON_SUCCESS:
         ExternalInterface.call('alert', 'Mail erfolgreich verschickt! :D');
         overlay._visible = false;
         button.enabled  = true;
         break;
      
      // wenn senden fehlgeschlagen...
      case Mail.ON_FAILURE:
         ExternalInterface.call('alert', 'Fehler beim senden der Email! :(');
         overlay._visible = false;
         button.enabled  = true;
         break;
      
      // bei einem php\server seitigem fehler...
      case Mail.ON_REMOTE_ERROR:
         ExternalInterface.call('alert', 'Server Fehler: ' + object.message);
         break;         
      
      // bei einem flash\as fehler...
      case Mail.ON_LOCAL_ERROR:
         ExternalInterface.call('alert', 'Flash Fehler: ' + object.message);
         break;
   }
}

// Formular Handler Funktion
function formularHandler(item, value) {
   switch(item){
      // username ist pflicht
      case 'username':
         if(value === ''){
            ExternalInterface.call('alert', 'Sie haben keinen Namen angegeben!');
            return false;
         }
         break;
         
      // email ist pflicht
      case 'email':
         if(value === ''){
            ExternalInterface.call('alert', 'Sie haben keine Email-Adresse angegeben!');
            return false;
         }
         else if(value.indexOf('@') == -1 || value.indexOf('.') == -1){
            ExternalInterface.call('alert', 'Das ist keine Email-Adresse!');
            return false;
         }
         break;
   }
   return true;
}

// Mail Objekt erzeugen & Handler übergeben
var mail:Mail = new Mail('Mail.php');
   mail.setEventHandler(eventHandler);
   mail.setFormularHandler(formularHandler);
   
   // Optionen setzen
   mail.setOption('to', email);
   mail.setOption('subject', 'Mail-0.4 BETA | Beispielformular');

   // Inputs anmelden
   mail.username  = username;
   mail.title    = title;
   mail.email    = email;
   mail.comment  = comment;
   mail.question1 = question1;
   mail.question2 = question2;
   
// Button Event
button.addEventListener("click", function(){ mail.send(); });



Bei Interesse die BETA zu testen einfach melden!

PS: PHP5 ist Vorraussetzung, sowie AS2.0
Geändert von burnZ am 07.01.07 um 19:07 Uhr
senna94#12
Benutzerbild von senna94
Beiträge: 5
Registriert: May 2005

12.01.2008, 08:53

würde es gerne testen


AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2020 Sebastian Wichmann - Flashhilfe.de