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

eieieiei große Probleme mit include und title

Dann hast Du weiterhin nicht den problematischen Code gezeigt. Auf Grund deiner Beschreibung nehme ich aber an Du hast so etwas da stehen:

PHP:
<?php
$title="TITEL";
$inhalt="TEXTTEXT <a href="http://www.tagesschau.de/">ARD Tagesschau</a> TEXT...";
$sonstiges="bla bla bla";
?>

Oder nicht?

Wenn ja, dann sieht man hier bereits am Syntaxhighlighting wo das Problem ist. Du musst entweder die doppelten Anführungszeichen innerhalb der Stringzuweisung escapen

PHP:
$inhalt="TEXTTEXT <a href=\"http://www.tagesschau.de/\">ARD Tagesschau</a> TEXT...";

oder die doppelten Anführungszeichen um den String in einfache Anführungszeichen umändern

PHP:
$inhalt='TEXTTEXT <a href="http://www.tagesschau.de/">ARD Tagesschau</a> TEXT...';

Als das hätte dir wie schon gesagt sofort auffallen können, wenn Du Syntaxhighligthing verwendest. Ist für Einsteiger eine ungemeine Erleichterung, weil man dann solche Syntaxprobleme sofort sehen und lösen kann.

Und bitte künftig den problematischen Code posten - nicht irgendeinen anderen und dann beschreiben was man gemacht hat. Dann kann dir auch schneller ein Hinweis gegeben werden.
 
frohe weihnachten zunächst euch allen.

heute hatte ich wieder ein wenig zeit um an den projekt weiterzuarbeiten.
nun benötige ich ein kontakformular, habe schon ein zufriedenstellendes aus dem internet geladen, nur wie binde ich das ganze script sammt html ausgabe in eine inhaltsseite rein?

Code:
[COLOR=#000000][COLOR=#0000bb]$inhalt[/COLOR][COLOR=#007700]=[/COLOR][COLOR=#dd0000]'####gesamter php code mit html####'[/COLOR][COLOR=#007700];  
[/COLOR][/COLOR]


habe ich schon probiert, hat leider nicht geklappt, ebenso nur den html code in inhalt reinzumachen.


so schaut der ganze quellcode aus, der bei einzellabrufung auch perfekt klappt:
Code:
<!-- .......................................................................... -->
<!--                              Anfang Formular                               -->
<!--                              ...............                               -->
<!--                                                                            -->
<!--    Autor:               Michael Peuss                                      -->
<!--    WebSeite:            http://www.formular-generator.de                   -->
<!--    Nutzungsbedingungen: Dieses Formular darf auf privaten und gewerblichen -->
<!--                         Webseiten eingebunden werden. Sie sind dadurch zu  -->
<!--                         keiner Gegenleistung verpflichtet. Wenn Sie mit    -->
<!--                         dem Formular zufrieden sind, wuerde ich mich ueber -->
<!--                         einen Link von Ihrer Seite sehr freuen.            -->
<!--                         Danke!                                             -->
<!-- .......................................................................... -->
<script language=JavaScript>
<!--
 function isValid() { 

   var msg = "";
   
   if (kontaktFormular.eMail.value.indexOf("@") < 1 ||
       kontaktFormular.eMail.value.indexOf(".") < 1) {
     msg += "- Die E-Mail-Adresse ist syntaktisch nicht korrekt.\n";
   }
   
   if(kontaktFormular.vorName.value == "") {
     msg += "- Leeres Feld: Vorname:\n";
   }

   if(kontaktFormular.nachName.value == "") {
     msg += "- Leeres Feld: Nachname:\n";
   }

   if(kontaktFormular.betreff1.value == "") {
     msg += "- Leeres Feld: Betreff:\n";
   }

   if(kontaktFormular.betreff2.value == "") {
     msg += "- Leeres Feld: Betreff:\n";
   }

   if(kontaktFormular.nachricht.value == "") {
     msg += "- Leeres Feld: Nachricht:\n";
   }
   
   if(msg == "") {
     return true;   
   }
   alert(msg);
   return false;
 }
-->
</script>
<?php
  
  $formularAnzeigen = false;
  if (!empty($_POST["senden"]) && (
      empty($_POST["vorName"]) ||
      empty($_POST["nachName"]) ||
      empty($_POST["eMail"]) ||
      empty($_POST["betreff1"]) ||
      empty($_POST["betreff2"]) ||
      empty($_POST["nachricht"]))) {
    $formularAnzeigen = true;
    echo '<span style="color: #FF0000; font-size: large;">Bitte alle Pflichtfelder ausfuellen.</span>';
  } else if (!empty($_POST["senden"]) &&
             !isEmail($_POST["eMail"])) {
    $formularAnzeigen = true;  
    echo '<span style="color: #FF0000; font-size: large;">Die E-Mail-Adresse ist nicht korrekt.</span>';
  } else if (empty($_POST["senden"])) {
    $formularAnzeigen = true;  
  }
  if ($formularAnzeigen) {
?>
<form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">
  <table width="800" border="0">
<!--anfang vorName-->  
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Vorname:
      </strong></td>
      <td>
      <input name="vorName" type="text" value="<?=$_POST['vorName']; ?>" /></td>

      <td>&nbsp;
        
      </td>          
    </tr>
<!--ende vorName-->
<!--anfang nachName-->    
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Nachname:
      </strong></td>
      <td><input name="nachName" type="text" value="<?=$_POST['nachName']; ?>" /></td>
      <td>&nbsp;
        
      </td>          
    </tr>
<!--ende nachName-->
<!--anfang eMail-->        
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        E-Mail:
      </strong></td>
      <td><input name="eMail" type="text" id="eMail" value="<?=$_POST['eMail']; ?>" /></td>
      <td>
        zB: [email protected], [email protected]
      </td>      
    </tr>
<!--ende eMail-->
<!--anfang betreff1-->
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Betreff:
      </strong></td>
      <td><input name="betreff1" type="text" id="betreff1" value="<?=$_POST['betreff1']; ?>" size="50" /></td>
      <td>&nbsp;
        
      </td>          
    </tr>
<!--ende betreff1-->    
<!--anfang betreff2-->    
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Betreff:
      </strong></td>
      <td><select name="betreff2" id="betreff2">
        <option<?=($_POST['betreff2']=='Private Nachricht')?' selected':' '?>>Private Nachricht</option>
        <option<?=($_POST['betreff2']=='Geschäftliche Nachricht')?' selected':' '?>>Geschäftliche Nachricht</option>
        <option<?=($_POST['betreff2']=='Sonstiges')?' selected':' '?>>Sonstiges</option>
      </select></td>
      <td>
        Bitte w&Atilde;&curren;hlen Sie einen Betreff aus.
      </td>          
    </tr>
<!--ende betreff2-->
<!--anfang nachricht-->      
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Nachricht:
      </strong></td>
      <td><textarea name="nachricht" cols="40" rows="10"><?=$_POST['nachricht']; ?></textarea></td>
      <td>&nbsp;
        
      </td>          
    </tr>
<!--ende nachricht-->    
    <tr>
      <td colspan="3">
        <div align="center">
          <input name="senden" type="submit" value="Senden" />
        </div>
      </td>          
      <td>&nbsp;</td>          
    </tr>
  </table>
</form>

<?php
  } else {
    $eMail = '
        
Vorname:
'.$_POST['vorName'].'
        
Nachname:
'.$_POST['nachName'].'
        
E-Mail:
'.$_POST['eMail'].'
        
Betreff:
'.$_POST['betreff1'].'
        
Betreff:
'.$_POST['betreff2'].'
        
Nachricht:
'.$_POST['nachricht'].'';
    
    if (@mail("email@empfänger.com",
         "Neue Nachricht vom Kontaktformular",
         $eMail)) {
      echo "Ihre Nachricht wurde an uns verschickt, vielen Dank!<br />"; 
    } else {
      echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
    }
    if ($_POST['kopie']) {
      if (@mail($_POST['eMail'],
           "Hier die Kopie Ihrer Nachricht an mich",
           $eMail)) {
        echo "Sie haben eine Kopie der Nachricht zugeschickt bekommen.<br />";
      }
    }
  }
  
  function isEmail($email) {
    $nonascii      = "\x80-\xff"; 
    $nqtext        = "[^\\$nonascii\015\012\"]";
    $qchar         = "\\[^$nonascii]";
    $protocol      = "(?:mailto:)";
    $normuser      = "[a-zA-Z0-9][a-zA-Z0-9_.-]*";
    $quotedstring  = "\"(?:$nqtext|$qchar)+\"";
    $user_part     = "(?:$normuser|$quotedstring)";
    $dom_mainpart  = "[a-zA-Z0-9][a-zA-Z0-9._-]*\.";
    $dom_subpart   = "(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*";
    $dom_tldpart   = "[a-zA-Z]{2,5}";
    $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";
    $regex         = "$protocol?$user_part\@$domain_part";
    if (preg_match("/^$regex$/",$email)) {
      return true;
    }
    return false;
  }
?>
 
bin tierisch dankbar, dass du mir wieder weiterhilfst.

ich versteh jedoch nicht ganz wie und wo ich es einbinden soll.

vll. in die inhaltsseite?
Code:
[COLOR=#000000] [COLOR=#0000bb]<?php
[/COLOR][COLOR=#0000bb]$inhalt[/COLOR][COLOR=#007700]=[/COLOR][/COLOR]include("formulardatei.php");[COLOR=#000000][COLOR=#007700]
[/COLOR][COLOR=#0000bb]?[/COLOR][/COLOR]>
wenn ich es aber so mache, steht das forumlar ganz oben über den rest der ganzen seite und die textzeilen sind mir merkwürdigen schriftzeichen gefüllt wie:
<br /> <b>Notice</b>: Undefined index: vorName in <b>/var/www/XXX/html/v2/formulardatei.php</b> on line <b>83</b><br />

und unten wo der richtige inhalt rein sollte, steht nur eine 1 als text...
 
Du solltest den Code auch so verwenden wie ich angegeben habe. Wozu willst Du immer irgendwas $inhalt zuweisen? Sehe ich momentan keinen Sinn drin.

PHP:
<?php
include("datei.php");
?>
 
Hallo,
die Inhalt-Variabel ist doch dafür da, damit der Inhalt der Content-Seite im php-Frameset an richtiger Stelle ausgegeben wird.

Komme nach wie vor nicht weiter :-(
 
Hallo. Warum versuchst du es nicht so wie threadi es vorgeschlagen hat. Du fügst das include da ein wo es augegeben werden soll. Dafür ist keine Variabel nötig. Gruss Elroy
 
"php-Frameset" gibt es nicht. Keine Ahnung was Du damit meinst. Falls Du ein Frameset auf HTML-Basis meinst, dann würde ich dir raten auf dieses zu verzichten.

Zeig den kompletten Quellcode um wenigstens erahnen zu können was Du meinst.
 
der index.php-quelltext schaut wie folgt aus:

Code:
[COLOR=#000000][COLOR=#0000bb]<?php
error_reporting[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]E_ALL[/COLOR][COLOR=#007700]);
[/COLOR][COLOR=#0000bb]ini_set[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]'display_errors'[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000bb]1[/COLOR][COLOR=#007700]);
 
[/COLOR][COLOR=#0000bb]$section [/COLOR][COLOR=#007700]= array();
[/COLOR][COLOR=#0000bb]$section[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'home'[/COLOR][COLOR=#007700]] = [/COLOR][COLOR=#dd0000]'home.php'[/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000bb]$section[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'kontakt'[/COLOR][COLOR=#007700]] = [/COLOR][COLOR=#dd0000]'kontakt.php'[/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000bb]$section[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'impressum'[/COLOR][COLOR=#007700]] = [/COLOR][COLOR=#dd0000]'impressum.php'[/COLOR][COLOR=#007700];
 
if (isset([/COLOR][COLOR=#0000bb]$_GET[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'section'[/COLOR][COLOR=#007700]], [/COLOR][COLOR=#0000bb]$section[/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000bb]$_GET[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'section'[/COLOR][COLOR=#007700]]])) {
include [/COLOR][COLOR=#0000bb]$section[/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000bb]$_GET[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'section'[/COLOR][COLOR=#007700]]];
} else {
include [/COLOR][COLOR=#0000bb]$section[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'home'[/COLOR][COLOR=#007700]];
}
[/COLOR][COLOR=#0000bb]?>
[/COLOR]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>[COLOR=#0000bb]<?php [/COLOR][COLOR=#007700]echo [/COLOR][COLOR=#0000bb]$title[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000bb]?>[/COLOR]</title>
</head>
<body>
...header text...
<a href="index.php?section=home"><b>home-link</b></a><br />
<a href="index.php?section=kontakt"><b>kontakt-link</b></a><br />
<a href="index.php?section=impressum"><b>impressum-link</b></a><br />
 
[COLOR=#0000bb]<?php [/COLOR][COLOR=#007700]echo [/COLOR][COLOR=#0000bb]$inhalt[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000bb]?>
[/COLOR]</body>
</html>[/COLOR]
und für die inhaltsseiten.php:
Code:
[COLOR=#000000][COLOR=#0000bb]$title[/COLOR][COLOR=#007700]=[/COLOR][COLOR=#dd0000]'TITEL'[/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000bb]$inhalt[/COLOR][COLOR=#007700]=[/COLOR][COLOR=#dd0000]'TEXTTEXTTEXT...'[/COLOR][COLOR=#007700];
[/COLOR][COLOR=#0000bb]$sonstiges[/COLOR][COLOR=#007700]=[/COLOR][COLOR=#dd0000]'bla bla bla'[/COLOR][COLOR=#007700];
[/COLOR][/COLOR]
 
geil, schonma einen schritt weiter...

die ausgabe findet nun am richtigen ort statt, jedoch noch ein kleines problem besteht.

in jeder textbox steht nun folgendes:
<br />
<b>Notice</b>: Undefined index: nachricht in <b>/var/www/xxx/html/test.php</b> on line <b>148</b><br />



test.php => das formular
 
Das ist nur eine Notiz von php, nichts wirklich problematisches. Du kannst in der angegebenen Zeile nachschauen oder das php error_reporting runterschrauben.
 
tatsache, nehme ich error_reporting weg, ist zumindest der text in den zeilen weg.

aber ist das auch die vernünftige lösung, irgend einen zweck muss ja das error_reporting haben müssen oder nicht?

habe mir das ganze nochmal genauer angeschaut, ganz so gut klappt es anscheinend nicht.
drücke ich auf absenden, lande ich wieder auf der startseite, und es wird nichts verschickt!

es ist völlig egal was ich in das formular eintrage, es kommt ebenso keiner fehlermeldung.

:-(

mensch warum muss das alles so schwer und kompliziert sein!

kann vll. ein mod diesen thread in den php-bereich verschieben, scheint ja momentan mehr damit zu tun zu haben.
 
Zuletzt bearbeitet:
Zurück
Oben