SELFPHP: Version 5.8.1 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche


International PHP Conference


WebTech Conference



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



PHP Summit


Software Architecture Summit


:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 
HTML5 Days


JavaScript Days


:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Deine Leidenschaft ist die Unterwasserfoto-grafie?


Dann ist Qozido genau das Richtige für Dich!

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler ist da!

www.qozido.de

 


Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 13.04.2006, 21:38:33
Wayne Wayne ist offline
Anfänger
 
Registriert seit: Apr 2006
Beiträge: 10
Wayne befindet sich auf einem aufstrebenden Ast
Anfänger braucht Hilfe beim Gästebuch ;)

Also, erst mal hallo, bin neu hier ;)

Vorerst möchte ich einmal klarstellen, dass das Gästebuch nicht von mir selbtsgeschrieben ist (stammt von einer cd).
Ich möchte es etwas verändern bzw. erweitern. Ich möchte die Darstellung der Beiträge etwas verändern, aber ich weiß nicht, wo das genau steht, wie sie dargestellt werden. Außerdem hat es keine Blätterfunktion. Das ist natürlich nicht so gut, sonst hätte ich ja tausende Einträge auf einer Seite :)
Dazu sollten dann noch die Nummern der Einträge angezeigt werden (also der wievielter eintrag), aber das ist denke ich nicht so schwer oder?
Dann gibt es da noch ein Problem ;) Wenn es jetzt zB einen ziemlich langen Beitrag gibt, wird er in einer Zeile dargestellt. Das steht zwar in einer Tabelle, aber die verlängert sich dann.

Ihr fragt euch vielleicht, waru nich gleich ein neues Gästebuch? - Ich hab es jetzt schon so weit an meine Seite angepasst (und das war für mich schon eine Menge Arbeit [da Anfänger]) und jetzt weiß ich einfach nicht weiter. Außerdem gefält es mir :P



Hier mal die Codes:
Buch.php (das gästebuch):
PHP-Code:
<?php

$meldung
="
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'><br>- LEER -<br>
      <p><a href='buch_eintrag.php' class='contentlink'>Zur&uuml;ck</a></p>
    </td>
  </tr>
</table>
"
;

if (!@include(
"buch_inhalt.htm")) {
 echo 
$meldung;
}

?>
Mit Zitat antworten
  #2  
Alt 13.04.2006, 21:38:59
Wayne Wayne ist offline
Anfänger
 
Registriert seit: Apr 2006
Beiträge: 10
Wayne befindet sich auf einem aufstrebenden Ast
AW: Anfänger braucht Hilfe beim Gästebuch ;)

da kein platz mehr war, gehts hier weiter ;)
Buch_eintrag.php :
PHP-Code:
<table width="349" height="100" align="center">
    <
form method='post' action='buch_funktionen.php'><tr>
      <
td width="341" height="20" style="border-style:none;border-size:0.5px;border-color:#000000;background-color:#47A743"><div align="left"><span class="style17"> <strong>Eintragen</strong></span></div></td>
    </
tr>
    <
tr>
      <
td height="50" bgcolor="#DDDCDC" style="border-color:#000000;background-color:#DDDCDC; border: 1px dashed;border-top width: 0px;border-color:#47A743;"><table width='400' align='center' style="border: 0px dashed;border-color:#47A743">
        <
tr>
          <
td colspan='6' class='autor' height='10'><div align='right'></div></td>
        </
tr>
        <
tr>
          <
td valign='top' width='9'><div class='morelink'><span class="style17">&raquo;</span>&nbsp;</div></td>
          <
td valign='top' class='style17' width='36'>Name:*</td>
          <
td valign='top' class='blocksatz' width='190'><input type='text' name='fname' class='contentblack' size='30' maxlength='50' style="border-color:1px:#CCCCCC;background:#CCCCCC;color:#666666;">
          </
td>
          <
td valign='top' class='style17' width='6'>&raquo;</td>
          <
td valign='top' class='blocksatz' width='40'><span class="style17">Rubrik</span>:</td>
          <
td valign='top' class='blocksatz' width='91'><select name='fbetreff' class='contentblack' style="border-color:1px:#CCCCCC;background:#CCCCCC;color:#666666;">
              <
option value='Lob' selected>Lob</option>
              <
option value='Kritik'>Kritik</option>
              <
option value='Anregung'>Anregung</option>
              <
option value='Allgemein'>Allgemein</option>
            </
select>
          </
td>
        </
tr>
        <
tr>
          <
td valign='top' width='9'><div class='morelink'><span class="style17">&raquo;</span>&nbsp;</div></td>
          <
td valign='top' class='style17' width='36'>Email:*</td>
          <
td valign='top' class='blocksatz' colspan='4'><input type='text' name='femail' class='contentblack' size='30' maxlength='50' style="border-color:1px:#CCCCCC;background:#CCCCCC;color:#666666;">
          </
td>
        </
tr>
        <
tr>
          <
td valign='top' width='9'><div class='morelink'><span class="style17">&raquo;</span>&nbsp;</div></td>
          <
td valign='top' class='style17' width='36'>Inhalt:*</td>
          <
td valign='top' class='blocksatz' colspan='4'><textarea name='finhalt' class='contentblack' cols='30' rows='5' wrap='PHYSICAL' style="border-color:1px:#CCCCCC;background:#CCCCCC;color:#666666;"></textarea>
          </
td>
        </
tr>
        <
tr>
          <
td valign='top' width='9'><div class='morelink'><span class="style17">&raquo;</span>&nbsp;</div></td>
          <
td valign='top' class='style17' width='36'>Website: </td>
          <
td valign='top' class='blocksatz' colspan='4'><input type='text' name='fhome' class='contentblack' size='30' maxlength='50' style="border-color:1px:#CCCCCC;background:#CCCCCC;color:#666666;">
          </
td>
        </
tr>
        <
tr>
          <
td valign='top' width='9'><div class='morelink'>&nbsp;</div></td>
          <
td valign='top' class='blocksatz' width='36'>&nbsp;</td>
          <
td valign='top' class='blocksatz' colspan='4'><input type='submit' name='senden' value='senden' class='style17'>
              <
input type='reset' name='losch' value='L&ouml;schen' class='style17'>
          </
td>
        </
tr>
        <
tr>
          <
td height='10' colspan='6' class='autor'><div align="left"><span class="style17 style1">* = Pflichtfeld </span></div></td>
        </
tr>
      </
table>      
      </
td>
    </
tr></form>
  </
table>  
  <
div align="center"><a href='buch.php' class="contentlink style30">Beitr&auml;ge Lesen</a
Eigentlich unwichtig, ist ja nur das Formular, aber ich habs einfach mal dabei geschrieben.

Buch_funktionen.php :
PHP-Code:
<?php

//Stammen die Daten vom Formular?
if (isset($_POST["senden"])) {

//Textfeldeingaben Filtern
function daten_reiniger($inhalt) {
    if (!empty(
$inhalt)) {
        
//HTML- und PHP-Code entfernen.
        
$inhalt strip_tags($inhalt);
        
//Umlaute und Sonderzeichen in
        //HTML-Schreibweise umwandeln
        
$inhalt htmlspecialchars($inhalt);
        
//Entfernt überflüssige Zeichen
        //Anfang und Ende einer Zeichenkette
        
$inhalt trim($inhalt);
        
//Backslashes entfernen
        
$inhalt stripslashes($inhalt);
    }
return 
$inhalt;
}

//Schreibarbeit durch Umwandlung ersparen
foreach ($_POST as $key=>$element) {
    
//Dynamische Variablen erzeugen, wie g_fname, etc.
    //und die Eingaben Filtern
    
${"g_".$key} = daten_reiniger($element);
}

//Anfang - Prüfung
//Kein richtiger Name eingegeben
if(strlen($g_fname)<3){
$error_msg="Bitte geben Sie Ihren Namen an";
}

//Kein Eintrag vorgenommen
if(strlen($g_finhalt)<3){
$error_msg.="<br>Bitte geben Sie auch etwas in das Gästebuch ein.";
}

//Mailadresse korrekt angegeben - entsprechende Formatierung vornehmen
if(ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$g_femail)){
$format_femail="<a href=mailto:" $g_femail ">E-Mail</a>";
} else {
$error_msg.="<br>Fehlerhafte E-mail!<br>";
}

//Es wurde auch eine Homepageadresse angegeben - entsprechende Formatierung vornehmen
if(ereg("^([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$g_fhome)){
    
//http:// fehlt in der Angabe der Adresse - hier ergänzen
    
if(!ereg("^http:////",$g_fhome)){
    
$g_fhome="http://" $g_fhome;
    }
$g_fhome="<a href=" $g_fhome " target=_blank>Website</a>";
} else {
$g_fhome="<a href=" $g_fhome " target=_blank>Website</a>";
}
//Ende - Prüfung

//Prüfen ob Fehler vorgekommen sind!
if($error_msg){
echo 
"
<html>
<head>
<title>Your-Snake.de - Fehler</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#DDDCDC' text='#000000'>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' bgcolor='#47A743' colspan='3' style='border: 1px dashed;border-color:#47A743;'>- FEHLER - <br>
      Eintrag konnte nicht angelegt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      <a href='buch_eintrag.php' class='contentlink'>Zur&uuml;ck</a></td>
  </tr>
</table>
</body>
</html>
"
;

include(
"funktionen.php");

}

} else {
echo 
"
<html>
<head>
<title>Your-Snake.de - Fehler</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#DDDCDC' text='#000000'>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' bgcolor='#47A743' colspan='3' style='border: 1px dashed;border-color:#47A743;'>- FEHLER - <br>
      Eintrag konnte nicht angelegt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      <a href='buch_eintrag.php' class='contentlink'>Zur&uuml;ck</a></td>
  </tr>
</table>
</body>
</html>
"
;
}
?>
funktionen.php :
PHP-Code:
<?

/////////////////////////////////////////
// Gästebuch + Reloadsperre v1.0
/////////////////////////////////////////

// 0=keine Reloadsperre, 1=Reloadsperre
$aktiv 1;
// Zeit der Reloadsperre in Minuten
$zeit 5;
// IP-Datei
$ipdatei "ips.txt";
// Buchdatei
$datei "buch_inhalt.htm";

/////////////////////////////////////////
// IP-Reloadsperre
/////////////////////////////////////////

function pruf_IP($rem_addr) {
  global 
$ipdatei,$zeit;
  @
$ip_array file($ipdatei);
  
$reload_dat fopen($ipdatei,"w");
  
$this_time time();
  for (
$i=0$i<count($ip_array); $i++) {
    list(
$ip_addr,$time_stamp) = explode("|",$ip_array[$i]);
    if (
$this_time < ($time_stamp+60*$zeit)) {
      if (
$ip_addr == $rem_addr) {
        
$gefunden=1;
      }
      else {
        
fwrite($reload_dat,"$ip_addr|$time_stamp");
      }
    }
  }
  
fwrite($reload_dat,"$rem_addr|$this_time\n");
  
fclose($reload_dat);
  return (
$gefunden==1) ? 0;
}

/////////////////////////////////////////
// Abfrage
/////////////////////////////////////////

if (isset($_POST["senden"])) {
if (
file_exists($datei) && ($aktiv==|| ($aktiv==&& pruf_IP($REMOTE_ADDR)==0))) {
  
// Falls die Datei existiert, wird sie ausgelesen und
  // die enthaltenen Daten werden durch den neuen Beitrag
  // ergänzt
  
$fp=fopen($datei,"r+");
  
$daten=fread($fp,filesize($datei));
  
rewind($fp);
  
flock($fp,2);
  
fputs($fp,"$eintrag \n $daten");
  
flock($fp,3);
  
fclose($fp);
  include(
"autorespond.php");
  
header("Location:buch.php");
}else if (!
file_exists($datei) && ($aktiv==|| ($aktiv==&& pruf_IP($REMOTE_ADDR)==0))) {
  
// Die Datei buch_inhalt.htm existiert nicht, sie wird
  // neu angelegt und mit dem aktuellen Beitrag gespeichert.
  
$fp=fopen($datei,"w");
  
fputs($fp,"$eintrag \n");
  
fclose($fp);
  include(
"autorespond.php");
  
header("Location:buch.php");
} else {
  
// Die Datei existiert zwar, jedoch handelt
  // es sich wahrscheinlich um den gleichen Besucher
  
header("Location:buch.php");
}
} else {
echo 
"
<html>
<head>
<title>G&auml;stebuch v1.0</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/gbuchlogo.gif' width='800' height='80'></p>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
      Eintrag konnte nicht angelegt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      <a href='buch_eintrag.php' class='contentlink'>Zur&uuml;ck</a></td>
  </tr>
</table>
</body>
</html>
"
;
}

?>
Dann gibt es noch die Dateien buch_inhalt.htm (da sind die beiträge gespeichert), eine css datei, autorespond.php, ips.txt und die automail.txt.
Aber ich denke das ist jetzt hier unwichtig und wird hier nicht gebraucht. Falls doch, einfach schreiben ;)

Ich verlange jetzt nicht, dass ihr mir das jetzt machen sollt, aber wenn ihr mir erklärt, wie es geht, wäre ich auch schon sehr froh ;)
Mit Zitat antworten
  #3  
Alt 13.04.2006, 22:58:50
Benutzerbild von yozek
yozek yozek ist offline
Junior Member
 
Registriert seit: May 2004
Ort: Köln
Alter: 33
Beiträge: 226
yozek befindet sich auf einem aufstrebenden Ast
yozek eine Nachricht über ICQ schicken yozek eine Nachricht über MSN schicken
AW: Anfänger braucht Hilfe beim Gästebuch ;)

Hi,

das Gästebuch benutzt also keien Datenbank. Es wird einfach eine Datei geschrieben und erweitert. Aus diesem Grund müßtest du schon in das Innenleben eingreifen, um die Sachen so darzustellen wie du möchtest...

Ich kann dir zwar aus zeitlichen Gründen nicht bei jeder Frage zur Tat schreiten, aber ich denke, ein kleiner Anfang reicht auch aus ;)

Zum Thema: "Ein Eintrag in einer Zeile".

Editiere die Datei funktionen.php an folgender Stelle um:
Verwandel:
PHP-Code:
fputs($fp,"$eintrag \n $daten"); 
in
PHP-Code:
$eintrag wordwrap($eintrag'<br />'$anzahlDerZeichen1); 
um. Damit solltest du schon die Sache mit dem Zeilenumbruch hinkriegen:

Zum Thema Nummerierung.
Ich gehe davon aus, dass in jeder Zeile ein EIntrag steht.
Insofern könntest du beim Speichern die Variable $daten einlesen, nach "\n" exploden und per Schleife wieder zusammensetzen.. Jede Zeile wäre dann ein Eintrag.. Ergo.. 100 Zeilen = 100 Einträge.. Natürlich müsstest du das Array umdrehen und dann durch foreach jagen.
Eine Blätterfunkion einbauen wird schon schwieriger...
Mein Tipp.. Lass es ;)

HTH

Gruss

yozek
__________________
yozek

King of my castle - 127.0.0.1
Computer befreien das Denken vom Rechnen
Mit Zitat antworten
  #4  
Alt 13.04.2006, 23:12:42
Wayne Wayne ist offline
Anfänger
 
Registriert seit: Apr 2006
Beiträge: 10
Wayne befindet sich auf einem aufstrebenden Ast
AW: Anfänger braucht Hilfe beim Gästebuch ;)

Hi,
erstmal danke, dass du so schnell geantwortet hast ;)

Also das mti der zeile klappt aber immer noch nicht. Wird immer noch in einer Zeile geschrieben....

Zum Thema Blätterfunktion, also ih finds schon sehr wichtig so eine funktion zu haben, damit man nicht tausende einträge auf einer seite hat. Ist das denn wirklich so schwierig?
Mit Zitat antworten
  #5  
Alt 14.04.2006, 16:39:40
Wayne Wayne ist offline
Anfänger
 
Registriert seit: Apr 2006
Beiträge: 10
Wayne befindet sich auf einem aufstrebenden Ast
AW: Anfänger braucht Hilfe beim Gästebuch ;)

Also, dass mit der einen zeile klappt jetzt glaube ich soweit.
Und mit der Blätterfunktion hab ich mir was anderes überlegt. Wenn es zu viel wird mach ich es einfach manuell. Also ich kopiere einfach die Beiträge in die datei buch_inhalt2.htm und verlinke die beiden. Damit wäre das Problem auch gelöst ;)

Jetzt hab ich noch eine Frage. Wo wird denn festgelegt wie die Beiträge dargestellt werden, also was für ne tabelle, wo der name steht usw. das möchte ich ein wenig ändern..
Mit Zitat antworten
  #6  
Alt 25.04.2006, 17:05:21
Wayne Wayne ist offline
Anfänger
 
Registriert seit: Apr 2006
Beiträge: 10
Wayne befindet sich auf einem aufstrebenden Ast
AW: Anfänger braucht Hilfe beim Gästebuch ;)

Sooo.....ich hab jetzt alles so weit hinbekommen. Danke für eure Hilfe.
Ist es schwierig einen 'Adminbereich' einzubauen? Also, dass ich die einträge online bearbeiten und löschen kann?
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Anfänger braucht eure hilfe Acki PHP Grundlagen 3 05.03.2006 10:52:26
Hilfe Anfänger Formularfunktion für Anmeldung auf Party Dauerwurst PHP Grundlagen 7 25.05.2005 01:36:03
Anfänger fleht um Hilfe -> Parse error Debi PHP Grundlagen 1 09.04.2004 13:58:26
Anfänger sucht Hilfe: Rechner sebbel PHP Grundlagen 10 16.09.2003 15:47:27
Fehler bei kleinem Anfänger Gästebuch Skript cali PHP für Fortgeschrittene und Experten 7 09.05.2002 16:33:30


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.


© 2001-2014 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt