• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit E-mail

jayb

Neues Mitglied
Hallo !
Ich habe folgendes Problem:
Nach dem Abschicken eines Anmeldeformulars soll eine Mail verschickt werden. In der Mail soll ein Link enthalten sein, der eine ID enthält.
Der Code:
Code:
                                            mysql_query("INSERT INTO
                                                        PersLink(link)VALUES('http://4mo.square7.ch/index.php?userid=')") or die($query.' Fehlermeldung der DB: '.mysql_error());
                                            $idlink = mysql_insert_id() or die($query.' Fehlermeldung der DB: '.mysql_error());

                                            mysql_query("INSERT INTO
                                                        Spieler(nickname,email,link_id)VALUES('$nick' , '$emailad' , '$idlink')");    
                                            $nrlink = mysql_insert_id() or die($query.' Fehlermeldung der DB: '.mysql_error());
                                            mysql_query("UPDATE
                                                        PersLink SET link = 'http://4mo.square7.ch/index.php?userid=$nrlink' 
                                                        WHERE PersLink.linknr = $nrlink") or die($query.' Fehlermeldung der DB: '.mysql_error());
/* automatische E-mail versenden */
                                            $sendlink = mysql_query("SELECT link FROM PersLink
                                                                    WHERE PersLink.linknr = $idlink");
                                            $empfaenger = $emailad;
                                            $betreff = 'Anmeldung erfolgreich!';
                                            $nachricht = "Ihre Anmeldung war erfolgreich! Ihr Link: $sendlink";
                                            $header = 'From: [email protected]' . "\r\n" .
                                                'Reply-To: [email protected]' . "\r\n" .
                                                'X-Mailer: PHP/' . phpversion();

                                            mail($empfaenger, $betreff, $nachricht, $header);

Was man dann aber per E-mail bekommt, ist das: Ihre Anmeldung war erfolgreich! Ihr Link: Resource id #8

könnt ihr mir helfen wo der Fehler liegt?
 
Du bekommst bei mysql_query ein Objekt zurück. Schau dir in Tutorials nochmal an, was man mit diesem Objekt macht und wie man auf die ausgelesenen Attribute aus der Datenbank zugreift.
 
Du bekommst bei mysql_query ein Objekt zurück. Schau dir in Tutorials nochmal an, was man mit diesem Objekt macht und wie man auf die ausgelesenen Attribute aus der Datenbank zugreift.

Kannst du dir nicht denken, dass ich mich schon anderweitig im Internet umgeschaut habe? Ich habe einfach nichts zu diesem Thema gefunden, deshalb wäre ich euch sehr verbunden, wenn mir einer bei der Sache hier helfen könnte. Ich bin mir sicher, dass da nicht mehr so viel zur richtigen Ausgabe fehlt.
 
schau mal, ich habs auch schon so probiert:

Code:
                                $sendlink = mysql_query("SELECT link FROM PersLink
                                            WHERE PersLink.linknr = $idlink");
                                            $empfaenger = $emailad;
                                            $betreff = 'Anmeldung erfolgreich!';
                                            $nachricht = 
                                            "<html>
                                            <body>
                                            <table>
                                            <?php
                                            while($row = mysql_fetch_object($sendlink))
                                            {?>
                                                <tr>    
                                                <td ><?php echo $row->link;?></td>        
                                              </tr><?php
                                            }                            
                                            ?>
                                            </table>
                                            </body>
                                            </html>
                                            ";
                                            $header = 'From: [email protected]' . "\r\n" .
                                                'Reply-To: [email protected]' . "\r\n" .
                                                'X-Mailer: PHP/' . phpversion();

                                            mail($empfaenger, $betreff, $nachricht, $header);

aber da kam der gleiche mist raus. Normale Ausgaben kann ich inzwischen, da ich aber noch nie mit dieser mail() Funktion gearbeitet habe, weiß ich gar nicht wie man mein Problem behandeln könnte, da helfen mir auch die Seiten von dir nichts, da sich das nicht genau auf das Beispiel mit mail() bezieht. Wie gesagt, normale Ausgaben sind kein Problem, nur in diesem Fall. Ich bin seit knapp über einer Woche erst an php, und da wäre es nicht schlecht wenn mir jemand bei diesem Beispiel helfen würde. Wenn in solchen Foren immer nur auf links hingewiesen wird dann haben die ja kein Sinn, da ich mir die Seiten auch selbst suchen kann. Ich habe gehofft, dass mir hier jemand eine bessere/schnellere Antwort liefern kann.
 
Dein Problem hat weder mit der mail()-Funktion noch mit den MySQL-Funktionen zu tun. Dir fehlen noch grundlegende Kenntnisse über den Umgang mit PHP.

Denn das ist falsch:
PHP:
$nachricht = 
                                            "<html>
                                            <body>
                                            <table>
                                            <?php
                                            while($row = mysql_fetch_object($sendlink))
                                            {?>
                                                <tr>    
                                                <td ><?php echo $row->link;?></td>        
                                              </tr><?php
                                            }                            
                                            ?>
                                            </table>
                                            </body>
                                            </html>
                                            ";

Du kannst nicht mitten in einer String-Variable einen PHP-Code auf diese Art einfügen.

Beispiel wie sowas richtig geht:
PHP:
$nachricht = "Nachrichtentext ".$phpvariable." weiterer Text";

Oder:
PHP:
$nachricht = "Nachrichtentext ";
while($row = mysql_fetch_object($sendlink))
{
 $nachricht .= $row->link;
}
$nachricht .= "weiterer Text";

Schau dir daher bitte auch die unter o.g. Links zu findenden Einführungen in PHP an. Dort kann man so etwas nachlesen.
 
Zurück
Oben