Archivlink: javarea.de Forum > PHP, MySQL & CGI > Formular anpassen
Vollständigen Link anzeigen: javarea.de Forum > PHP, MySQL & CGI > Formular anpassen

Pages: [1] 2 ... nächste » ... Letzte »

geschrieben von Gordon am 08.03.2009 - 15:12
Hallo Liebe Leute!

Habe dieses Script gefunden und würde dieses gerne anpassen.

Habe aber Probleme damit.

Zum einen soll der Gast und auch ich eine Email bekommen. Ich habe schon eine ganze weile daran gesessen und bekomme es einfach nicht hin.
Anstelle der Warnbilder würde ich gern nur den Text rot haben, wie zB. Vorname.

Kann mir jemand helfen?

geschrieben von Klaush am 08.03.2009 - 20:36
Das Thema gehört dann eher im Bereich PHP und nicht im Talk Talk Forum.

Die Frage wurde von dir doch schon einmal gestellt http://javarea.de/forum/showthread.....adid=12135 und auch dort warteten wir auf Deine Zuarbeit. Es reicht eben nicht ein Script zu präsentieren und zu hoffen das Jemand es so umschreibt, dass es passt. Etwas Eigeninitiative ist also schon vorausgesetzt. Ich bin also bereit dir bei deiner Arbeit zu unterstützen.

Was hast du bislang an dem von dir angehängtem Script verändert?

Ps.: Ich verschiebe das Thema in den PHP Bereich.

geschrieben von Gordon am 08.03.2009 - 20:42
Hi!

Ja das stimmt, wurde schon behandelt. Meine damaligen arbeiten habe ich leider gelöscht, da die erfolglos blieben.

Im Anhang jedoch ein Neuanfang meiner Überarbeitung. Das funktioniert leider nicht. Die Email wird sofort versandt, ohne zu prüfen.

geschrieben von Gordon am 09.03.2009 - 13:18
Hi Klaush und hallo den anderen!

Also ich sitze nun schon mehrere Wochen an der Sache... Und mittlerweile blicke ich wirklich nicht mehr durch. Ich habe jetzt diverse Codeschnipsel, die das bewirken sollen, wie es gern hätte.

Leider gelingt es mir nicht diese zusammen zu fügen. Jedenfalls funktioniert es dann nicht. Meine Seite beinhaltet diverse Formulare die ich momentan mit JS überprüfe. Etwas unschön.

Dieses würde ich gerne mit PHP realisieren. Dabei sollen bei vergessenen Eingaben sowohl das Wort (z.B. Vorname) wie auch das Eingabefeld farbig hervorgehoben werden.

Der Empfänger sollte bei Bedarf auch noch eine Kopie erhalten und MUSS aber noch die AGB annehmen.

Ich habe nun versucht ein Script mit meinen zu ergänzen (noch ohne farblichen Textwechsel).

Leider nach wie vor ohne Erfolg. Bestimmt ist das alles gar nicht so kompliziert, aber mittlerweile steige ich da gar nicht mehr durch. Meine Testdatei findet ihr im Anhang.

Wichtig wäre auch, dass der Code für die anderen Formulare relativ einfach anzupassen ist, da sich die Pflichtfelder stets unterscheiden.

Wäre für jede Hilfe wirklich sehr dankbar

geschrieben von Gordon am 09.03.2009 - 15:46
Im Anhang eine Überarbeitete Version.... Leider immer noch ohne Erfolg...

geschrieben von Klaush am 10.03.2009 - 13:19
Ich werde mir das erst heute Abend genauer anschauen können, bis dahin bitte ich um Geduld.

geschrieben von Gordon am 11.03.2009 - 12:48
Danke Klaush. Echt nett von dir. Ich habe nochmal selbst weiter versucht. Im Anhang die aktuelle Version.

geschrieben von Klaush am 11.03.2009 - 22:53
Ich habs mir mal angeschaut, da waren tatsächlich mehrere Fehler drin.

1) Fehler, deine CSS Datei hatte 2 gleiche Einträge, einen davon habe ich entfernt, bitte passe den anderen an.
2) Beim senden der EMails, kommt es zu Location Fehler, da die Session nicht gesetzt werden kann..... das liegt daran das vor einer Session keine HTML Ausgaben gemacht werden dürfen.

Im Anhang liegt eine überarbeitet Version.

geschrieben von Gordon am 12.03.2009 - 08:14
Hallo Klaush!

Besten Dank, echt super!

Aber folgendes:

Einige Sachen funktionieren noch nicht ganz richtig.

1.: Die "Select-Felder" werden nicht gespeichert, wenn man eine andere Eingabe vergessen hat.
Diese muss man dann immer wieder aufs neue auswählen. ( Diese Felder färben sich leider auch nicht rot ein)

2.: Leider funktioniert auch nicht mehr die SSL-Funktion. Wenn man diese anklickt und auf senden geht, kommt bei FF sofort die Meldung, dass die Daten unverschlüsselt übertragen werden.

3.: Würde es auch noch gehen, dass die jeweiligen Namen der Pflichtfelder, wie ZB Anrede* oder "Ich stimme der Datenschutzerklärung zu.*" sich rot einfärbt?

_________________________________________________________

P.S.: Du hast mir ja schon einige male gut geholfen. Wenn wir dieses Kapitel auch erfolgreich überstanden haben, habe ich mir überlegt als Dankeschön einen Vermerk im Impressum zu machen. Wie z.B. "Umsetzung mit freundlicher Unterstützung von....."! Hättest du an sowas Interesse?

geschrieben von Gordon am 12.03.2009 - 08:26
Sorry, die Select-Felder färben sich natürlich ein... *Diesen Punkt bitte ignorieren! ;)

geschrieben von Klaush am 12.03.2009 - 12:10
Zitat von: Gordon am 12.03.2009 - 07:14
 
Hallo Klaush!

Besten Dank, echt super!

Aber folgendes:

Einige Sachen funktionieren noch nicht ganz richtig.

1.: Die "Select-Felder" werden nicht gespeichert, wenn man eine andere Eingabe vergessen hat.
Diese muss man dann immer wieder aufs neue auswählen. ( Diese Felder färben sich leider auch nicht rot ein)

2.: Leider funktioniert auch nicht mehr die SSL-Funktion. Wenn man diese anklickt und auf senden geht, kommt bei FF sofort die Meldung, dass die Daten unverschlüsselt übertragen werden.

3.: Würde es auch noch gehen, dass die jeweiligen Namen der Pflichtfelder, wie ZB Anrede* oder "Ich stimme der Datenschutzerklärung zu.*" sich rot einfärbt?


zu.1) Das Speichern der Feldinformationen eines Select-Feldes ist nichts anderes, schau dir den Namen des Feldes genau an. Um ein zuvor selektiertes Selectfeld wieder zu selektieren, mussen die Values verglichen und das entsprechende Value wieder auf SELECTED gesetzt werden, siehe Beispiel weiter unten.

zu.2) Daran habe ich nichts geändert.

zu 3.) Bei den Checkboxen funktioniert das nicht mit allen Browser, so weit ich das weiß. ansonsten ginge das. Du musst nur die CSS Anweisung in deine HTML Struktur einbinden, wie du es schon bei den Anderen Feldern getan hast.
PHP-Quelltext
1: 
2: 
3: 

class="<?PHP echo $errorClass['anrede']; ?>" usw..



Ich sehe gerade, dass die Selektierung nicht funktioniert, weil ein falscher Wert geprüft wird. In deinem und meinem Beispiel von Gestern, was ich allerdings nicht geprüft habe, ist ein Fehler in der Bedingung. Du prüfst den Inhalt der Anrede mit falschen Daten, richtig wäre diese hier.

Beispiel mit Selektion:
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 

<select class="<?PHP echo $errorClass['anrede']; ?>" name="anrede" size="1">
                                            <option value="" <?PHP if(empty($_POST['anrede'])) echo 'selected'?>>Bitte ausw&auml;hlen</option>
                                            <option value="Sehr geehrte Frau" <?PHP if($_POST['anrede'] == "Sehr geehrte Frau") echo 'selected'?>>Frau</option>
                                            <option value="Sehr geehrter Herr" <?PHP if($_POST['anrede'] == "Sehr geehrter Herr") echo 'selected'?>>Herr</option>
                                        </select>



geschrieben von Gordon am 12.03.2009 - 12:50
Habe ich soweit geändert. Anrede-Select wird jetzt auch gemerkt, nur der Betreff nicht. SSL funktioniert irgendwie immer noch nicht??? *grübel*

Habe jetzt auch zusätzlich mal eine EMAIL-PRÜF-Funktion eingebaut. Funktioniert irgendwie auch nicht.

geschrieben von Gordon am 12.03.2009 - 19:10
So, habe jetzt soweit alles zum laufen gebracht. Das die SSL-Verbindung nicht funktioniert hat wohl nichts mit dem Formular zu tun. Das funktioniert auf den anderen Seiten auch nicht. Vor ein paar Tagen ging es noch... *grübel*

Aber das bekomme ich auch noch hin.

Könntest du mir noch mit dem Email-Prüf-Dings helfen??? Habe heute aus Google verschiedene Sachen versucht und nichts hat funktioniert.

Also ich meine so ein Teil, das prüft, ob es eine sinnvolle Email ist.

Liebe Grüße
Gordon

geschrieben von Klaush am 12.03.2009 - 20:08
Dafür lohnt sich ein Blick in die ereg_functions

PHP-Quelltext
1: 
2: 
3: 

<?
if (!ereg("^[_a-zA-Z0-9\-]+(.[_a-zA-Z0-9\-]+)*@[a-zA-Z0-9\-öäü]+.([a-zA-Z0-9\-]{2,4})$",$_POST['email']))
?>


geschrieben von Gordon am 12.03.2009 - 20:12
Hi Klaush

Das war einer der Codes die ich bereits eingefügt hatte. Aich jetzt.

PHP-Quelltext
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: 

<?PHP
$errorFields 
= array('anrede','lastname','firstname','email','telefone','thema','nachricht','agb');    
//$_GET['check'] = (!isset($_GET['check']) Or isset($_GET['check']) == "FALSE") ? "FALSE" : "TRUE";

if("^[_a-zA-Z0-9\-]+(.[_a-zA-Z0-9\-]+)*@[a-zA-Z0-9\-öäü]+.([a-zA-Z0-9\-]{2,4})$",$_POST['email'])

for(
$x=0;$x<count($errorFields);$x++)
    
$errorClass[$errorFields[$x]] = 'inputField';

if(isset(
$_POST['submit']))
{    
    
$error FALSE;
    foreach(
$errorFields as $key => $value)
    {
        if(empty(
$_POST[$errorFields[$key]]))
        {
            
$error TRUE;
            
$errorClass[$value] = 'errorField';
            
$errorPicture[$value] = '<img src="ko.gif">&nbsp;';
        }
    }
}

if(
$_GET['check'] == "TRUE")
{
    
$errorMessage '<table width="100%" class="errorTable"><tr><td><b>
                                     Ihre Bestellung war erfolgreich!</b><br><br>
                                     Vielen Dank für Ihre Bestellung des Jahresabos. 
                                     Ihre Daten wurden weitergeleitet.</td></tr></table><br>'
;
}

if(isset(
$_POST['submit']))
{
    if(
$error == TRUE)
    {
      
$errorMessage '<table width="100%" class="errorTable"><tr><td>
                                         <img src="ko.gif"></td><td><b>Achtung!</b><br>
                                         Es ist zu einem Fehler gekommen. Bitte f&uuml;llen Sie alle 
                                         farblich markierten Pflichtfelder aus.</td></tr></table><br>'
;
    }
    else
    {
        
// Alles ist in Ordnung
        // Daten k?nnen gespeichert werden



u.s.w.

Kommt dann folgende Meldung: Parse error: syntax error, unexpected ',' in /mnt/web8/40/81/51569081/htdocs/subdomains/tierversicherung/neueinternetseite/test.php on line 5


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.