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

PhP Formailer und Bilder upload zusammen fügen

Status
Für weitere Antworten geschlossen.

Lion165

Neues Mitglied
Hallo Leuts mein Problem ich habe 2 Php Scripts werde ich nacher unten Posten. Das Eine ist ein normaler Formailer und das andere ist ein Script womit user bilder auf emin FTP server laden können. Könnte man die beiden Scripte zusammen fügen?

Also mal zur vorstellung:
Der Formailer
(Eingabefeld) Name
(Eingabefeld) E-Mail
(Eingabefeld) Textbox für bermerkung
(Submit) Abschicken

das wird ja nun an meine E-mail adresse geschickt.
Bilder hochladen:
(Datei Auswählen) Dateiname
(Submit) Abschicken

Datei wird auf meinen server geladen.

Ist das nun möglich:
(Eingabefeld) Name
(Eingabefeld) E-Mail
(Eingabefeld) Textbox für bermerkung

(Datei Auswählen) Dateiname
(Submit) Abschicken

So das ich eine E-mail bekomme mit Name ,E-Mail, Textbox für bermerkung und die datei auf dem server geladen wurde?

Hier die Scripte die ich habe Formailer:
PHP:
<?php


$strEmpfaenger = '[email protected]';

$strFrom       = '"Formmailer" <[email protected]>';

$strSubject    = 'Bild erfolgreich auf server geladen...';

# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://www.ich.lion1605.de';

$strDelimiter  = ":\t";



if($_POST)
{
 $strMailtext = "";

 while(list($strName,$value) = each($_POST))
 {
  if(is_array($value))
  {
   foreach($value as $value_array)
   {
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   $strMailtext .= $strName.$strDelimiter.$value."\n";
  }
 }

 if(get_magic_quotes_gpc())
 {
  $strMailtext = stripslashes($strMailtext);
 }

 mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
  or die("Die Mail konnte nicht versendet werden.");
 header("Location: $strReturnhtml");
 exit;
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body bgcolor="black" text="blue">

        <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
           
        <br><b>Dein Name:</b>
        <br><input type="Text" name="Name" value="" size="15" maxlength="25">
          <br><b>Deine E-Mail:</b>
          <br><input type="Text" name="E-Mail:" value="" size="15" maxlength="25">
            <br><b>Wunsch bild </b>
            <br><textarea name="Bemerkung" cols="25" rows="5"></textarea>


                          
            <p>
            <input type="submit" value="Senden" />
            <input type="reset" value="Zurücksetzen" />
            </p>
        </form>
    </body>
</html>
Und Hier das Script für den bilder upload... habe die sripte aus dem forum :http://www.html.de/html-und-xhtml/15231-hochladen-auf-ftp-server.html
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
  <head>
    <title>Dateien uploaden</title>
  </head>
  <body>
    <div>
      <form action="hochladen.php" method="post" enctype="multipart/form-data">
        <input type="file" name="datei" /><br />
        <input type="submit" name="subm" value="Datei hochladen" /><input type="reset" value="Zur&uuml;cksetzen" />
      </form>
    </div>
    <?php
        $pfad = "dateien/"; //Pfad zu den Dateien
        $dirhandle = opendir($pfad);
        if (isset($_FILES['datei']) && $_FILES['datei']['size'] > 0) {
            $tempname = $_FILES['datei']['tmp_name'];
            $dateiname = $_FILES['datei']['name'];
            while ($file = readdir($dirhandle)) {
                   if ($file == $dateiname) { //Vergleichen, ob Datei schon vorhanden
                       $dateiname = "_".$dateiname; //Unterstrich am Anfang einbauen
                   }
            }
            if (move_uploaded_file($tempname, $pfad.$dateiname)) {
                chmod($pfad.$dateiname,0666);
                echo "<p>Datei wurde erfolgreich hochgeladen!";
            } else {
                echo "<p>Upload war leider nicht erfolgreich!</p>";
            }
        }
    ?>
  </body>
</html>
Und die zweite Hochladen.php
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
  <head>
    <title>Dateien uploaden</title>
  </head>
  <body>
    <?php
        $pfad = "dateien/"; //Pfad zu den Dateien
        $dirhandle = opendir($pfad);
        if (isset($_FILES['datei']) && $_FILES['datei']['size'] > 0) {
            $tempname = $_FILES['datei']['tmp_name'];
            $dateiname = $_FILES['datei']['name'];
            while ($file = readdir($dirhandle)) {
                   if ($file == $dateiname) { //Vergleichen, ob Datei schon vorhanden
                       $dateiname = "_".$dateiname; //Unterstrich am Anfang einbauen
                   }
            }
            if (move_uploaded_file($tempname, $pfad.$dateiname)) {
                chmod($pfad.$dateiname,0666);
                echo "<p>Datei wurde erfolgreich hochgeladen!";
            } else {
                echo "<p>Upload war leider nicht erfolgreich!</p>";
            }
        }
    ?>
  </body>
</html>
 
Sollte normal kein problem sein, du schreibst einfach dein form feld so
Code:
<form>
rest wie du willst
</form>
wie du willst, und dann wenn man auf submit klickt, das es z.B: die ganzen variablen an code.php weitergegeben werden und dann einfach einen script ausführen lassen, mit der hochladen funktion und mit der mail() funktion.
 
erwartest aber viel von mir xD ich habe davon keine ahnung ... erzähl bitte wenn du zeit hast was ich genau machen muss^^ aus dein Fach php werd ich nicht schlau =)


Mfg Lion
 
Ich hatte eh grad ein bissle zeit ;), also
die erste datei heißt bei mir
index.html
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"[URL]http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd[/URL]">
<html xmlns="[url=http://www.w3.org/1999/xhtml]XHTML namespace[/url]" xml:lang="de">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
<body bgcolor="black" text="blue">
<form action="code.php" method="post"  enctype="multipart/form-data">
           
          <p><br>
              <b>Dein Name:</b>
            <br>
            <input type="Text" name="Name" value="" size="15" maxlength="25">
            <br>
            <b>Deine E-Mail:</b>
            <br>
            <input type="Text" name="E-Mail:" value="" size="15" maxlength="25">
            <br>
            <b>Wunsch bild </b>
            <br>
            <textarea name="Bemerkung" cols="25" rows="5"></textarea>
          </p>
        <input type="file" name="datei" /><br />
        <p>
            <input type="submit" value="Senden" />
            <input type="reset" value="Zurücksetzen" />
  </p>
</form>
</body>
</html>
und die Zeite datei heißt bei mir
code.php
PHP:
<?php
        $pfad = "dateien/"; //Pfad zu den Dateien
        $dirhandle = opendir($pfad);
        if (isset($_FILES['datei']) && $_FILES['datei']['size'] > 0) {
            $tempname = $_FILES['datei']['tmp_name'];
            $dateiname = $_FILES['datei']['name'];
            while ($file = readdir($dirhandle)) {
                   if ($file == $dateiname) { //Vergleichen, ob Datei schon vorhanden
                       $dateiname = "_".$dateiname; //Unterstrich am Anfang einbauen
                   }
            }
            if (move_uploaded_file($tempname, $pfad.$dateiname)) {
                chmod($pfad.$dateiname,0666);
                echo "<p>Datei wurde erfolgreich hochgeladen!";
            } else {
                echo "<p>Upload war leider nicht erfolgreich!</p>";
            }
        }

$strEmpfaenger = '[email protected]';
$strFrom       = '"Formmailer" <[email protected]>';
$strSubject    = 'Bild erfolgreich auf server geladen...';
# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://www.ich.lion1605.de';
$strDelimiter  = ":\t";
 
if($_POST)
{
$strMailtext = "";
while(list($strName,$value) = each($_POST))
{
  if(is_array($value))
  {
   foreach($value as $value_array)
   {
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   $strMailtext .= $strName.$strDelimiter.$value."\n";
  }
}
if(get_magic_quotes_gpc())
{
  $strMailtext = stripslashes($strMailtext);
}
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
  or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}
        $pfad = "dateien/"; //Pfad zu den Dateien
        $dirhandle = opendir($pfad);
        if (isset($_FILES['datei']) && $_FILES['datei']['size'] > 0) {
            $tempname = $_FILES['datei']['tmp_name'];
            $dateiname = $_FILES['datei']['name'];
            while ($file = readdir($dirhandle)) {
                   if ($file == $dateiname) { //Vergleichen, ob Datei schon vorhanden
                       $dateiname = "_".$dateiname; //Unterstrich am Anfang einbauen
                   }
            }
            if (move_uploaded_file($tempname, $pfad.$dateiname)) {
                chmod($pfad.$dateiname,0666);
                echo "<p>Datei wurde erfolgreich hochgeladen!";
            } else {
                echo "<p>Upload war leider nicht erfolgreich!</p>";
            }
        }
    ?>
Und dann noch den Ordner "dateien" erstellen und dann müsste es klappen.
 
also habe jetz volgende cods:
index.php:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="XHTML namespace" xml:lang="de">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
<body bgcolor="black" text="#FF9900">
<form action="code.php" method="post"  enctype="multipart/form-data">
<h1>Bilder Hochladen!</h1>
<h3> Die Bilder werden auf meinem Privaten Server gespeichert!
<br> demnäst kommt ein User controllpanle hinzu darüber könnt
<br> ihr eure bilder wieder löschen, bis es so weit ist werde
<br> ich die bilder manuel löschen!</h3>
<br>
<br>
<h3> Ich versichere euch das die Bilder nicht an dritte weiter gegeben werden!</h3>
<table >
<tr>
 <td>Name/Nickname </td>
 <td><input type="Text" name="Name" value="" size="20" maxlength="25">  </td>
</tr>
<tr>
 <td>E-Mail </td>
 <td><input type="Text" name="E-Mail" value="" size="20" maxlength="25"> </td>
</tr>
<tr>
 <td>Dateiname</td>
 <td><input type="Text" name="Name" value="" size="20" maxlength="25">  </td>
</tr>
<tr>
 <td>Wähle ein Bild</td>
 <td><input type="file" name="datei" /><br />  </td>
</tr>
<tr>
 <td>Wunschbild bitte Angeben <br> (outdoor, indoor, toys, sachen, posi etc.)</td>
 <td><textarea name="Wunsch Bild" cols="25" rows="5"></textarea></td>
</tr>
<tr>
 <td><input type="submit" value="Senden" /> </td>
 <td><input type="reset" value="Zurücksetzen" /> </td>
</tr>
</table>

<br> Nach absenden erhaltet ihr inerhalb von 48 Stunden euer wunschbild/er und oder das entsprechende Passwort
<br> Bei Fragen oder Prblemen wenden sie sich bitte an den Administrator: [email protected]


und die hier code.php:
PHP:
<?php
$strEmpfaenger = '[email protected]';

$strFrom       = '"Formmailer" <[email protected]>';

$strSubject    = 'Bild erfolgreich auf server geladen...';

# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://www.ich.lion1605.de';

$strDelimiter  = ":\t";



if($_POST)
{
$strMailtext = "";

while(list($strName,$value) = each($_POST))
{
  if(is_array($value))
  {
   foreach($value as $value_array)
   {
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   $strMailtext .= $strName.$strDelimiter.$value."\n";
  }
}

if(get_magic_quotes_gpc())
{
  $strMailtext = stripslashes($strMailtext);
}

mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
  or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}
        $pfad = "dateien/"; //Pfad zu den Dateien
        $dirhandle = opendir($pfad);
        if (isset($_FILES['datei']) && $_FILES['datei']['size'] > 0) {
            $tempname = $_FILES['datei']['tmp_name'];
            $dateiname = $_FILES['datei']['name'];
            while ($file = readdir($dirhandle)) {
                   if ($file == $dateiname) { //Vergleichen, ob Datei schon vorhanden
                       $dateiname = "_".$dateiname; //Unterstrich am Anfang einbauen
                   }
            }
            if (move_uploaded_file($tempname, $pfad.$dateiname)) {
                chmod($pfad.$dateiname,0666);
                echo "";
            } else {
                echo '<meta http-equiv="refresh" content="0; URL=deineurl.html/php/js/asx" />'; //content ist die zeit wie lange es dauert, und URL muss klar sein xD, lol.html or xD.php  du weißt ja schon^^
            }
        }

    ?>



Nun müsste doch eigentlich ne E-mail an der oben genannten e-mail adresse gesendet werden und die datei müsste im Ordner "datein" erscheinen oder? Tuhen sie aber nicht ... könnt ihr mir sagen wodran das liegt?

okay hat geklapt soweit bilder sind auf dem server und ich bekomme eine e-mail aller dings kommt nach dem absenden volgende Meldung:
Datei wurde erfolgreich hochgeladen!
Warning: Cannot modify header information - headers already sent by (output started at /home/virtual/lion1605.de/ich/htdocs/code.php:14) in /home/virtual/lion1605.de/ich/htdocs/code.php on line 51
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben