Bildpfad in externe Datei auslagern

  • Hi. Mal eine absolute Anfängerfrage:

    angenommen ich habe 2 Dateien. Eine mit dem auszugebenden Inhalt, die andere mit den Konfigurationsangaben.

    Beispiel:

    1) Index.php

    Dort steht nur ein Bild. <img src="/images/image.jpg">

    2) config.php

    Hier soll der Pfad für die images in der Index.php stehen.
    Bspw. /images/

    Jetzt möchte ich in der Index statt dem vollständigen Pfad eine Variable nehmen, die sich den Pfad dann aus der Config.php holt.

    <img src="'.IMGPATH.'/image.jpg"> oder ähnlich ..

    Die config.php binde ich über require in die index.php ein.

    Vermutlich absolute Basics, aber dennoch habe ich keine Ahnung, wie ich da anfangen soll. Jemand eine Idee ?

  • Vermutlich absolute Basics


    Richtig

    PHP
    <?php
       // config.php
       define ("IMAGE_PATH", "/images/");
    ?>
    PHP
    <?php
       echo "<img src='" . IMAGE_PATH . "bild.jpg' alt=''>";
    ?>
  • Noch eine Anfängerfrage :)

    Ich habe folgenden Code in der php-Datei, die eine Message an den Ausfüller eines Formulars sendet:

    if($error == false){
    $message .="Vielen Dank f&uuml;r Ihre Bestellung.<br>";
    $message .="<b>Name:</b> ".$name ."<br>";
    $message .="<b>Strasse:</b> ".$Strasse ."<br>";
    $message .="<b>Hausnummer :</b> ".$Hausnummer ."<br>";
    $message .="<b>PLZ :</b> ".$PLZ ."<br>";

    Die jeweiligen Daten werden durch ein Formular übergeben.
    Jetzt möchte ich aber, dass die Email-Msg formatiert wird, sprich in Tabellenform versandt wird.
    Linke Spalte = Name:, etc. und rechte Spalte der Content, der übermittelt wird.

    Gleichzeitig soll der font-face nicht standardmässig in Times New Roman, sondern Arial übermittelt werden.

    Jemand eine Idee ?

  • mimeMailer oder phpmailer nutzern, das sind fertige klassen denen man ein text-set und ein html-set übergeben kann so dass ein gewünschtes format versand wird. noch dazu kann man das charset einstellen is ne prima sache das

  • Werde ich das nächste Mal berücksichtigen .. Problem hier ist lediglich, dass ich jetzt seit Wochen an dieser Datei dran bin und das nun endlich alles läuft :)
    Ich bin kein php Experte und versuche mich peu a peu einzuarbeiten und möchte aber zunächst dieses Projekt abschliessen.

    Gibt es eine Möglichkeit das unter den o.g. Vorgaben irgendwie umzusetzen oder habe ich es dann quasi schon verbockt, indem ich es falsch aufgesetzt habe ?

  • häh? wieso das nächste mal berücksichtigen?
    du includierst die file, erstellst ein objekt und machst ganz einfach die mail fertig...
    oben zeigst du doch nur wie du die ausgabe machst...

    die mail machste ebenso, nen string bauen der des html-gerüst darstellt, inhalte rein und abschicken

  • Sorry, ich bin blutiger Anfänger.
    Das Dokument ist so aufgebaut:

    Danach kommt dann der ganze HTML Kram:

    <!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>
    <?php require_once("header.html"); ?>
    </head>
    <body>

    ...
    ...
    ...

  • also ich geb dir jetzt nen bespiel, deine mailfaxen da wirste ja selber austauschen können (auch als anfänger :O) )
    und die mail als html darstellen wirste auch schaffen. html haste ja in der $message schon drin

  • Udn noch nen Tip für einen Anfänger: du musst die Mailerklasse natürlichen erst includen/requiren, sonst funktioniert der code von synaptic nicht ;)

    Und synaptic:

    das

    PHP
    $mail->send(array(mailempfaenger@home.de));

    muss

    PHP
    $mail->send(array('mailempfaenger@home.de'));

    heißen.

  • Bei mir kommt kein Parse-error im ursprünglichen Script, ich habe jetzt nicht den kompletten Anfangscode gepostet gehabt ..

    PHP
    <?php 
    require_once('config.php');
    error_reporting(0);
    
    
    ..

    Mal eine Anfänger-Verständnisfrage .. zuständig für das Format und den Versand der Email ist doch nachfolgender Code, oder ?
    Dort definiere ich ja, WAS ich gesendet haben möchte.

    Der Inhalt der Message wird hier definiert, richtig ?

    Der Beispielcode von Synaptic ERSETZT dieses Codeabschnitt ?

    Danke für Eure Geduld ..

  • Ich habe jetzt eine Lösung gefunden:

  • jau wenn du jetzt in $message dein gewünschtes html-gerüst hast, dann kannste das als mail-inhalt verschicken, ob mit ner mailerklasse oder mit deinem mailer-konstrukt is egal, die klasse machts nur wesentlich komfortaler in punkto wartbarkeit

  • So, final meine letzte Frage (für heute) :)

    Hier gebe ich die Email aus:

    Den Inhalt hole ich hier:

    Jetzt schickt die Mail ja das Feld "Strasse" immer mit, aber ich möchte, dass das Feld nicht mitgeschickt wird, wenn es leer ist.
    Wo setze ich da an ? Kann ich da irgendwo einen IF-Befehl integrieren ?

    Danke vorab !

  • $message .= "...";
    if(!empty($Strasse)){
    $message .= "<tr>
    <td><b>Strasse:</b></td>
    <td>".$Strasse ."</td>
    </tr>";
    }
    $message .= "...";

    a) wo soll ich das denn einfügen ? Unten in dem HTML-Abschnitt od. darüber als generellen Befehl?
    b) muss da dann nicht noch ein else Befehl integriert werden, da er so ja die Strasse mitschickt, selbst wenn sie leer ist ?
    c) muss ich dann die ganzen Zeilen wieder separieren durch $message .= "..."; da ich den HTML Code ja gerade erst aus den einzelnen $message .= "..."; Feldern rausgenommen habe und nun einen HTML Block verwendet habe ?


  • Oder kann ich das evtl. hierüber auch steuern ?

    PHP
    $from     = $Emailadresse;
      $to         = EMAIL_TO;
      $subject  = "Subject";
      $headers  = "MIME-Version: 1.0\r\n";
      $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
      $headers .= "From: $from \r\n";
      $headers .= "X-Priority: 1\r\n";
      $headers .= "X-MSMail-Priority: High\r\n";
      $headers .= "X-Mailer: PHP\r\n";
     @mail($to, $subject,$message, $headers);

    $message definiert ja, dass er den HTML Bereich versendet. Das ich quasi sage, dass er den Bereich nur versenden soll, wenn nicht EMPTY ?

  • grundlagen....LERNEN!!

    also du fragst bzw alxy fragt nur eine variable ab und steuert direkt dadurch das erstellen des dazugehörigen HTML...
    unne haste nur den header... und das versenden. du willst TEILE im inhalt weglassen, nich die ganze mail nich verschicken oder??