php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.06.2008, 14:26  
Neuer Benutzer
 
Registriert seit: 25.06.2008
Beiträge: 19
Jeffry befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] nl2br() verursacht ganz viele Zeilenumbrüche

Hallo zussamen.
Ich bin grade dabei mir Grundkenntnisse im Thema PHP anzueigenen und befinde mich momentan beim Punkt "Dateien".
Ich habe versucht ein Textdateibasierendes Gästebuch zu Programmieren was auch gut klappt.
Der einzige Fehler den ich nicht finde ist folgender:
Zwischen jedem Gästebucheintrag sind ca. 10 Zeilenumbrüche aufgrund des Befehls nl2br(). Wenn ich diesesn Befehl weglasse sind die Zeilenumbrüche zwischen den Einträgen zwar weg, allerdings auch die Zeilenumbrüche im Post.
Könnt ihr mir vlt. sagen woran es liegt, dass nl2br() so viele Zeilenumbrüche zwischen den Einträgen erzeugt?

link: http://www.slikk.de/jeff/gdf/index.php"]http://www.slikk.de/jeff/gdf/index.php

Hier der Code schreiben.php:
PHP-Code:
<?php
include("session_variabel.php");
include(
"errormsg.php");
 
if(!
$inhalt_number)
{
$inhalt_number 0;
}
 
 
$eintragname "posts.txt";
$eintragnummer "numbers.txt";
function 
postdatei_erstellen(){
global 
$eintragname;
    if(!
file_exists($eintragname))
    {
    
touch($eintragname);
    
chmod("$eintragname",0777);
    }
}
function 
eintragsdatei_erstellen(){
global 
$eintragnummer;
    if(!
file_exists($eintragnummer))
    {
    
$anfangswert 0;
    
touch($eintragnummer);
    
chmod("$eintragnummer",0777);
    
$zeiger fopen("$eintragnummer","r+");
    
fwrite($zeiger,$anfangswert);
    
fclose($zeiger);
    }
}
echo 
postdatei_erstellen();
echo 
eintragsdatei_erstellen();
 
if(
$errormsg == "" && isset($name) && isset($email) && isset($text))
 {
   
$datum date("d.m.Y");
   
$uhrzeit =  date("H:i");
 
$open = array("$datei""$datei_nummer");
   if(
is_writable($eintragname))
  {
 
$open[0] = fopen("$eintragname","r");
 
$inhalt fread($open[0],9999);
 
fclose($open[0]);
  }
  else
  {
  echo 
"<p align='center'><font color='red'> Kann Datei ".$eintragname." nicht &ouml;ffnen</font><br>";
  }
  if(
is_writable($eintragnummer))
  {
 
$open[1] = fopen("$eintragnummer","r");
 
$inhalt_nummer fgets($open[1],6);
 
fclose($open[1]);
 
settype($inhalt_nummer"integer");
 if(
is_int($inhalt_nummer))
 {
 
$inhalt_nummer++;
 
$open[1] = fopen("$eintragnummer","w");
 
fwrite($open[1],$inhalt_nummer);
 
fclose($open[1]);
 }
 else
 {
 echo 
"Der Z&auml;hlerstand beinhaltet keine Zahl";
 }
  }
  else
  {
  echo 
"<p align='center'><font color='red'> Kann Datei ".$eintragnummer." nicht &ouml;ffnen</font><br>";
  }
 
$eintrag="
<table border=\"1\" align=\"center\" width=\"322\" height=\"128\">
  <tr>
    <td width=\"58\" valign=\"top\" bgcolor=#808080 height=\"19\">#$inhalt_nummer</td>
    <td width=\"248\" valign=\"top\" bgcolor=#808080 height=\"19\">$datum - $uhrzeit Uhr</td>
  </tr>
  <tr>
    <td width=\"58\" valign=\"top\" bgcolor=#808080 height=\"19\">Name:</td>
    <td width=\"248\" valign=\"top\" bgcolor=#999999 height=\"19\">$name</td>
  </tr>
   <tr>
    <td width=\"58\" valign=\"top\" bgcolor=#808080 height=\"19\">eMail:</td>
    <td width=\"248\" valign=\"top\" bgcolor=#999999 height=\"19\">$email</td>
  </tr>
  <tr>
    <td width=\"58\" bgcolor=#808080 height=\"78\" valign=\"top\">Text:</td>
    <td width=\"248\" bgcolor=#999999 height=\"78\" valign=\"top\">$text</td>
  </tr></table>
<br>"
;
 
$neuer_inhalt stripslashes(nl2br($eintrag)).$inhalt;
$datei fopen("$eintragname","w");
fwrite($datei,$neuer_inhalt);
fclose($datei);
die(
"<p align='center'>Eintrag wurde erstellt. <u><a href='index.php'>hier</a></u> klicken um zum Gästebuch zu gelangen</p>");
 }
else
{
echo 
"<p align='center'><font color='red'>".$errormsg."</font><br>
<a href='index.php'>zur&uuml;ck</a></p>"
;
}
?>
Ich weiß das man das alles auch kürzer fassen kann aber wie gesagt, ich bin in der lernt phase und deswegen mag es für euch "profis" sicher wie "wirrwarr" aussehen ^^.[/

Geändert von Jeffry (25.06.2008 um 14:31 Uhr).
Jeffry ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.06.2008, 14:28  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Hallo Jeffry, Willkommnen im Forum.

Ohne Code oder einen Link auf die Problemseite bleibt die Frage zu abstrakt um sie hinreichend zu beantworten.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 25.06.2008, 14:30  
Neuer Benutzer
 
Registriert seit: 25.06.2008
Beiträge: 19
Jeffry befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch77-new Beitrag anzeigen
Hallo Jeffry, Willkommnen im Forum.

Ohne Code oder einen Link auf die Problemseite bleibt die Frage zu abstrakt um sie hinreichend zu beantworten.
hallo ^^
wow, danke für die shcnelle antwort ^^
irgendwie wird der grade net angezeigt ^^
moment bitte
Jeffry ist offline  
Alt 25.06.2008, 14:34  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Du mußt dieses Konstrukt
Zitat:
stripslashes(nl2br(
auf alle einzelnen Einträge (Variablen wie $email, $text) anwenden, nicht auf die html Struktur. Sonst wird hinter jedes <table>, <tr>, <br> etc. noch ein <br /> geschrieben.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 25.06.2008, 14:39  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe das Formular gerade getestet und bei mir wird alles wie erwartet angezeigt.

Du wendest nl2br() auch auf $eintrag an, sollte es nicht $text sein.


... zu langsam
phpdummi ist offline  
Alt 25.06.2008, 14:48  
Neuer Benutzer
 
Registriert seit: 25.06.2008
Beiträge: 19
Jeffry befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank ihr 2.
Na da sitze ich 3 stunden da rum und such den fehler und dann ist es sowas einfaches ^^
Jetzt funktioniert es.
vielen lieben dank ^^
Jeffry ist offline  
Alt 25.06.2008, 15:06  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

[mod: Anschlussfrage hierher (Problem mit Dateirechten) verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] nl2br nicht für table tags? PHP-Fortgeschrittene 2 16.06.2005 20:00
[erledigt] nl2br & dynamische Tabelle Magic PHP Tipps 2004-2 4 03.12.2004 17:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
smaller nl2br, php fputs nl2br, nl2br zuviele, zeilenumbruch mit fwrite, php fwrite ohne umbrüche, fopen gästebuch zeilenumbruch, zeilenumbrüche fopen, fwrite nl2br, php gästebuch zeilenumbruch, php zu viele zeilenumbrüche, gästebucheinträge zeilenumbruch, php nl2br fwrite, nl2br in textdatei, php fwrite nl2br, nl2br ohne zeilenumbrüche, zeilenumbrüche ohne nl2br, php fwrite mit nl2br

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum