Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] PHP mail (https://www.gegen-bilderklau.net/thread.php?threadid=144490)


Geschrieben von WuLana am 09.11.2008 um 13:12:

  PHP mail

So ich hab ein riesiges Problem
teste ich das Formular wird mir das angezeigt
Parse error: syntax error, unexpected ':', expecting ')' in /users/lollipopgrafixx/www/nennen.php on line 117
der Code:
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:
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:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<style type="text/css">
<!--
.Stil1 {font-family: Verdana, Arial, Helvetica, sans-serif}
.Stil2 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }
.Stil4 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; }
-->
</style>
</head>

<body>
<div style="text-align: center;"><small><span
style="font-weight: bold;"><span
style="font-family: Verdana;">N E N N E N</span></span></small><small><span
style="font-weight: bold;"><br>
<br>
</span><span style="font-family: Verdana;">Wir
bitten dich, f&uuml;r jedes deiner Pferde ein eigenes Formular
abzuschicken.</span><span style="font-weight: bold;"></span></small><small><span
style="font-weight: bold;"></span></small></div>

<form id="form1" name="form1" method="post" action="nennen.php">
  <table width="300" height="346" border="1" align="center">
    <tr>
      <td><span class="Stil4">Zum Reiter</span></td>
    </tr>
    <tr>
      <td><table width="300" border="0">
        <tr>
          <td width="145" class="Stil2">Name</td>
          <td width="145" class="Stil2"><input type="text" name="name" id="name" /></td>
        </tr>
        <tr>
          <td class="Stil2">E-Mail</td>
          <td class="Stil2"><input type="text" name="email" id="email" /></td>
        </tr>
        <tr>
          <td class="Stil2">Hofname</td>
          <td class="Stil2"><input type="text" name="hname" id="hname" /></td>
        </tr>
        <tr>
          <td class="Stil2">Hofadresse</td>
          <td class="Stil2"><input type="text" name="hadresse" id="hadresse" /></td>
        </tr>
      </table></td>
    </tr>
    <tr>
      <td><span class="Stil4">Zum Pferd</span></td>
    </tr>
    <tr>
      <td><table width="300" border="0">
        <tr>
          <td width="145" class="Stil2">Name</td>
          <td width="145" class="Stil1"><input type="text" name="pname" id="pname" /></td>
        </tr>
        <tr>
          <td class="Stil2">Alter</td>
          <td class="Stil1"><input type="text" name="palter" id="palter" /></td>
        </tr>
        <tr>
          <td class="Stil2">Rasse </td>
          <td class="Stil1"><input type="text" name="prasse" id="prasse" /></td>
        </tr>
        <tr>
          <td class="Stil2">Steckbrieflink</td>
          <td class="Stil1"><input type="text" name="psteckbrieflink" id="psteckbrieflink" /></td>
        </tr>
      </table></td>
    </tr>
    <tr>
      <td><span class="Stil4">Zum Turnier</span></td>
    </tr>
    <tr>
      <td><table width="300" border="0">
        <tr>
          <td width="145" class="Stil2">Name</td>
          <td width="145" class="Stil2"><input type="text" name="tname" id="tname" /></td>
        </tr>
        <tr>
          <td class="Stil2">Datum</td>
          <td class="Stil2"><input type="text" name="tdatum" id="tdatum" /></td>
        </tr>
        <tr>
          <td class="Stil2">Disziplinen</td>
          <td class="Stil2"><input type="text" name="tdisziplin" id="tdisziplin" /></td>
        </tr>
      </table></td>
    </tr>
  </table>
  <p align="center">
    <input type="submit" name="send" id="send" value="Senden" />
    <input type="reset" name="back" id="back" value="Zur&uuml;cksetzen" />
  </p>
</form>
<div align="center">
  <?php
 $reiter ="Zum Reiter";
 $name$_POST['name'];
 $email$_POST['email'];
 $hofname$_POST['hname'];
 $hofadresse$_POST['hadresse'];
 $pferd="Zum Pferd";
 $pferdename$_POST['pname'];
 $pferdealter$_POST['palter'];
 $pferderasse$_POST['prasse'];
 $steckbrieflink$_POST['psteckbrieflink'];
 $turnier="Zum Turnier";
 $turniername$_POST['tname'];
 $turnierdatum$_POST['tdatum'];
 $turnierdisziplin$_POST['tdisziplin'];
 
{
if(!empty ($nachricht:"$reiter,
          Name:$name,
          E-Mail:$email,
          Hofname:$hofname,
          Hofadresse: $hofadresse,
          $pferd,
          Name: $pferdename,
          Alter: $pferdealter,
          Rasse: $pferderasse,
          Steckbrieflink: $steckbrieflink,
          $turnier,
          Name: $turniername,
          Datum: $turnierdatum,
          Disziplin:$turnierdisziplin")
 else(@mail("MichelleDahner@web.de""Turniernennung" "$nachricht")) {
 echo "<p>Danke! Die Angegebenen Daten werden nun weitergeleitet! </p>\n";
 }
 
 if{ 
 echo "<p>Du hast nicht alle Felder ausgefüllt bitte Ã¼berprüfe deine Daten und versuche es erneut!</p>"
 }
}

?>
</div>
</body>
</html>


Ich finde den Fehler einfach nicht



Geschrieben von SammyLG am 09.11.2008 um 14:42:

 

Edit: Unnötiges Gelaber gelöscht großes Grinsen
Doppeledit: Ich habe noch einen Fehler entdeckt, glaube ich großes Grinsen

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:
if (isset($_POST['email'])) {

  mail("MichelleDahner@web.de""Turniernennung" "$reiter,
          Name:$name,
          E-Mail:$email,
          Hofname:$hofname,
          Hofadresse: $hofadresse,
          $pferd,
          Name: $pferdename,
          Alter: $pferdealter,
          Rasse: $pferderasse,
          Steckbrieflink: $steckbrieflink,
          $turnier,
          Name: $turniername,
          Datum: $turnierdatum,
          Disziplin:$turnierdisziplin");

 echo "<p>Danke! Die Angegebenen Daten werden nun weitergeleitet! </p>\n";
}

else {
echo "<p>Du hast nicht alle Felder ausgefüllt bitte Ã¼berprüfe deine Daten und versuche es erneut!</p>";
}
?>



Geschrieben von WuLana am 09.11.2008 um 16:07:

 

danke und jetzt weiß ich wieder das gegenteil von empty. Danke!
EDIT: Weils mir gerade auffällt wie funktioniert das nochmal schnell das nicht gleich beim ersten Aufruf die Fehlermeldung erscheint sondern erst beim Absenden?

EDIT2: Hab einen Fehler eintdeckt wenn ich nähmlich nicht alle ausfülle schickt er mir trotzdem ab



Geschrieben von SammyLG am 09.11.2008 um 16:51:

 

Dann musst du die Else Zeile umschreiben. Etwa so:

php:
1:
2:
3:
elseif (empty($_POST['email'])) {
echo "<p>Du hast nicht alle Felder ausgefüllt bitte überprüfe deine Daten und versuche es erneut!</p>";
}


Edit: Um den anderen Fehler kümmer ich mich gleich mal Augenzwinkern

Zum anderen Fehler: Da bin ich mir nicht sicher, ob man das so machen kann mit der funktion. Teste einfach großes Grinsen

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:
41:
42:
43:
if (isset($_POST['email'])) {
if (isset($_POST['name'])) {
if (isset($_POST['hname'])) {
if (isset($_POST['hadresse'])) {
if (isset($_POST['pnamel'])) {
if (isset($_POST['palter'])) {
if (isset($_POST['psteckbrieflinkl'])) {
if (isset($_POST['tname'])) {
if (isset($_POST['tdatum'])) {
if (isset($_POST['disziplin'])) {

  mail("MichelleDahner@web.de""Turniernennung" "$reiter,
          Name:$name,
          E-Mail:$email,
          Hofname:$hofname,
          Hofadresse: $hofadresse,
          $pferd,
          Name: $pferdename,
          Alter: $pferdealter,
          Rasse: $pferderasse,
          Steckbrieflink: $steckbrieflink,
          $turnier,
          Name: $turniername,
          Datum: $turnierdatum,
          Disziplin:$turnierdisziplin");

 echo "<p>Danke! Die Angegebenen Daten werden nun weitergeleitet! </p>\n";
}
}
}
}
}
}
}
}
}
}

elseif (empty($_POST['email'])) {
echo "<p>Du hast nicht alle Felder ausgefüllt bitte überprüfe deine Daten und versuche es erneut!</p>";
}

?>


Für mich ist der Code von mir ... komisch großes Grinsen Ansonsten musst du wohl wen anderen fragen großes Grinsen



Geschrieben von WuLana am 09.11.2008 um 17:44:

 

ok ich teste mal

du hast da ein weiteres mal nur mit E-Mail auf das sich elseif bezieht gibts da nicht ne möglichkeit das da alle genommen werden?



Geschrieben von SammyLG am 11.11.2008 um 15:53:

 

Dann musst du das gleiche wie oben machen mit "elseif"...



Geschrieben von WuLana am 12.11.2008 um 19:46:

 

statt isset elseif?



Geschrieben von ProtexX am 14.11.2008 um 09:58:

 

Zitat:
Original von SammyLG
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
if (isset($_POST['email'])) {
if (isset($_POST['name'])) {
if (isset($_POST['hname'])) {
if (isset($_POST['hadresse'])) {
if (isset($_POST['pnamel'])) {
if (isset($_POST['palter'])) {
if (isset($_POST['psteckbrieflinkl'])) {
if (isset($_POST['tname'])) {
if (isset($_POST['tdatum'])) {
if (isset($_POST['disziplin'])) {

// irgendwelcher Code

}
}
}
}
}
}
}
}
}
}


Um Gottes Willen. großes Grinsen
Mach das bloß nicht. If-Abfragen unterstützten logische Operatoren. Das heißt, statt 10 verschaltete If-Abfragen könnte du auch eine machen. Das würde dann so aussehen:
php:
1:
2:
3:
if (isset($_POST['email']) && isset($_POST['name']) && isset($_POST['hname']) {
    // irgendwelcher Code
}

Das "&&" bedeutet "und". Der Ausdruck im If ist also nur war, wenn alle - durch "&&" getrennten Ausdrücke war sind. Es gibt auch noch dinge wie "oder" ("||"), aber die sind in diesem Fall nicht wichtig.

Die Folge von "&&" kannst du natürlich beliebig lange fortsetzten.

Dadurch wird die Übersicht enorm gesteigert und Du hast auch nicht so viele schließende Klammern (nämlich nur eine). smile

/Edit: Statt "&&" kannst du auch "AND" schreiben und statt "||" "OR" ... das ist vielleicht noch ein wenig übersichtlicher für Dich.



Geschrieben von WuLana am 15.11.2008 um 23:19:

 

Danke du bist mein Rettere. Ich hab da mal was gehört wenn bei isset true herauskommt sind die Felder ausgefüllt bei elseif hingegen sind sie dann nciht ausgefüllt. SO richtig?



Geschrieben von ProtexX am 17.11.2008 um 07:22:

 

isset und elseif sind zwei komplett unterschiedliche Dinge. Schlag dir da erstmal den Zusammenhang aus dem Kopf. Es ist so:
Mit If, Elseif und Else lassen sich logische Verzweigungen bauen. isset ist nur ein Ausdruck, der "True" also Wahr zurückliefert wenn die übergebende Variable existiert (bzw. gesetzt ist). Ist die Variable nicht gesetzt, wird "False" also Unwahr zurückgegeben.

Zwei Beispiele:

Hier wird "Foo ist nicht gesetzt" ausgegeben.
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:

<?php
if(isset($foo)) {
    echo "Foo ist gesetzt";
}
else {
    echo "Foo ist nicht gesetzt";
}
?>


Hier wird "Bar ist gesetzt" ausgegeben.
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:

<?php
$bar 1;
if(isset($bar)) {
    echo "Bar ist gesetzt";
}
else {
    echo "Bar ist nicht gesetzt";
}
?>


Siehe am besten auch:
PHP-Einfach.de - PHP Tutorial - if Anweisungen
PHP: isset - Manual


Forensoftware: Burning Board, entwickelt von WoltLab GmbH