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

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: 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:
 
 

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 22.05.2006, 14:27:58
SirBlack SirBlack ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 14
Mein GB funktioniert nicht einwandfrei.

Hallo,
ich habe folgendes Gästebuch gefertigt.

Code:
<?php	$action = isset($_REQUEST['action']) ? trim($_REQUEST['action']) : "show";
			$hidden = isset($_REQUEST['hidden']) ? trim($_REQUEST['hidden']) : "";
			$name = isset($_REQUEST['name']) ? trim($_REQUEST['name']) : "";
			$nname = isset($_REQUEST['nname']) ? trim($_REQUEST['nname']) : "";
			$email = isset($_REQUEST['email']) ? trim($_REQUEST['email']) : "";
			$text = isset($_REQUEST['text']) ? trim($_REQUEST['text']) : "";
			$page = isset($_REQUEST['page']) ? trim($_REQUEST['page']) : "";
			$datei = "gb.txt";
			$file = file($datei);
						
			if(!isset($rev))
			{
				$rev = count($file);
				$rev--;
			}
			$rev = isset($_REQUEST['rev']) ? trim($_REQUEST['rev']) : "$rev";			
			
			if($action == "eintragen")
			{
				echo"&nbsp<h1>Neuer G&auml;stebucheintrag</h1>";				
				echo "
						 <form name=\"eintragen\" action=\"gaste.php\" method=\"get\">
							<table align=\"center\">
								<tr><td></td><td><input name=\"hidden\" type=\"hidden\" value=\"senden\"></td></tr>
								<tr><td>Name:</td><td><input name=\"name\" type=\"text\" class=\"input\" size=\"40\" maxlenght=\"40\"></td></tr>
								<tr><td>Nachname:</td><td><input name=\"nname\" type=\"text\" class=\"input\" size=\"40\" maxlenght=\"40\"></td></tr>
								<tr><td>E-Mail:</td><td><input name=\"email\"type=\"text\" class=\"input\" size=\"40\" maxlenght=\"40\"></td></tr>
								<tr><td>Kommentar:</td><td><textarea name=\"text\" cols=\"30\" rows=\"8\" wrap=\"physical\"></textarea></td></tr>
			
								<tr><td><input type=\"submit\" value=\"Absenden\"></td><td><input type=\"reset\" value=\"Zur&uuml;cksetzen\"></td></tr>
							</table>
						</form>";
			}

			if($hidden == "senden")
			{
								
					$db = fopen("gb.txt","a+");
					$time = date("H:i");

					$date = date("d.m.Y");
					$nl = chr(13) . chr(10);
					
					$eintrag = ereg_replace("<","&lt;",$eintrag);
					$eintrag = ereg_replace(">","&gt;",$eintrag);
					$eintrag = preg_replace("/\r\n|\r|\n/", "<br>", $text);
					$ein = "$time|$date|$eintrag|$email|$name|$nname$nl";
					$schreib = fwrite($db,$ein);
					fclose($db);
					$action = "show";
					!$page;
					echo" Falls Ihr Eintrag nicht angezeigt wird, gehts <a href=\"gaste.php\"><b>HIER</b></a> weiter";
									
			}


			if( $action == "show")
			{
				echo "	&nbsp<h1>G&auml;stebuch</h1>
					<div align=\"center\">
					<a href=\"gaste.php?action=eintragen\">EINTRAGEN</a>
					</div>";


			$datei = "gb.txt";
			$file = file($datei);
			
			$num = count($file);
			
			if(!$page)
			{
				$start = 0;
				$ende = 25;
			}
			else
			{
				$start = $page * 25;
				$ende = $start + 25;
			}

			
			for($i = $start; $i < $ende; $i++)
			{
				$data = $file[$rev];
				$data = explode("|",$data);

				if($i > $num or $data[0] < "0")
				{
					echo "";
				}
				else
				{
					echo "<center><table width=\"80%\">
						<tr>
							<td height=\"10px\" colspan=\"2\">Eintrag Nr.:";
					$rev++;
					echo "$rev </td></tr>";
					$rev--;
					echo "<tr>
							<td style=\"border: 1px solid #999999;\"><b>$data[4] $data[5]</b><br>schrieb am $data[1] um $data[0] Uhr<br>";
							echo "<a href=\"mailto:$data[3]\">$data[3]</a>&nbsp";
							echo "</td>
								<td width=\"55%\" style=\"border: 1px solid #999999;empty-cells: show;\">&nbsp $data[2]</td></tr>
								<tr><td height=\"20px\" style=\"empty-cells: show;\"></td></tr>
						</table>";
					$rev--;
				}
			}
			
			$total = count($file);
			$seiten = ceil($total / 25);
			
			echo "Seite:";
			for($j=0;$j<$seiten;$j++)
			{
				$rev =($total - ($j * 25)) - 1;
				echo " <a href=\"gaste.php?action=show&page=$j&rev=$rev\">$j</a>";
			}
			echo"</center>";
			}

		?>
wenn ich nun die seite lade wird einfach das Gästebuch angezeigt. Wenn jemand einen neuen eintrag macht wird dieser jedoch nicht sofort angezeigt. Die Seite muss erst neu geladen werden. Dies geschieht unter der if-Schleife bei "hidden = senden". Ihr könnt euch ansehen wie ich das Problem jetzt gelöst habe, aber irgendwie ist das ja nicht so elegant. Wie kann ich mir das sparen und dafür sorgen das automatishc neugeladen wird?

mfg Erik
Mit Zitat antworten
  #2  
Alt 22.05.2006, 15:46:09
KTB KTB ist offline
Member
 
Registriert seit: Mar 2006
Alter: 38
Beiträge: 599
AW: Mein GB funktioniert nicht einwandfrei.

Automatisch neu laden geht mit dem Befehl:
PHP-Code:
<meta http-equiv="refresh" content="0;url=<? echo $PHP_SELF ?>">
//oder besser:
<?
header('Location: $PHP_SELF');
?>
Das ist aber nicht die Lösung des Problems, warum er die aktuelle Version nicht anzeigt.
__________________
In der Ruhe liegt die Kraft!

Geändert von KTB (22.05.2006 um 15:48:05 Uhr)
Mit Zitat antworten
  #3  
Alt 23.05.2006, 12:49:22
SirBlack SirBlack ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 14
AW: Mein GB funktioniert nicht einwandfrei.

Und woran liegt es? war schon schwer genug das das Script überhaupt mal das Richtige ausgibt. So ging es dann jedoch sollte ja nach einem Eintrag nicht neu geladen werden müssen???
Mit Zitat antworten
  #4  
Alt 24.05.2006, 09:40:26
KTB KTB ist offline
Member
 
Registriert seit: Mar 2006
Alter: 38
Beiträge: 599
AW: Mein GB funktioniert nicht einwandfrei.

Ich weiß nicht wirklich, da ich normalerweise nicht mit Dateien arbeite. Versuche mal folgendes:
Pack das senden so weit wie möglich nach oben, am besten an erste Position und bring das Script nach dem Absenden zum warten:
PHP-Code:
flush();
sleep(5); 
Damit wartet er 5 Sekunden und macht erst dann weiter.
Meine Vermutung ist, dass er nicht so schnell aus den Dateien lesen und schreiben kann oder sonst etwas in der Richtung.
Wenn das nix bringt, müssen wir an anderer stelle schauen.
__________________
In der Ruhe liegt die Kraft!
Mit Zitat antworten
  #5  
Alt 24.05.2006, 09:58:46
SirBlack SirBlack ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 14
AW: Mein GB funktioniert nicht einwandfrei.

Hm hat leider nicht geklappt. Der zeigt dann erst den neuen Eintrag an nach dem ich auf aktualisieren geklickt habe.
Mit Zitat antworten
  #6  
Alt 24.05.2006, 10:16:57
KTB KTB ist offline
Member
 
Registriert seit: Mar 2006
Alter: 38
Beiträge: 599
AW: Mein GB funktioniert nicht einwandfrei.

Hui, ich bin momentan überfragt. Was hat das !$page zu bedeuten?

Vielleicht geht das auch überhaupt nicht. Vielleicht muss die Seite neu geladen werden nachdem was eingetragen wurde um das neue zu lesen.
__________________
In der Ruhe liegt die Kraft!

Geändert von KTB (24.05.2006 um 10:59:14 Uhr)
Mit Zitat antworten
  #7  
Alt 24.05.2006, 11:40:01
Baguvix Baguvix ist offline
Anfänger
 
Registriert seit: May 2006
Beiträge: 18
AW: Mein GB funktioniert nicht einwandfrei.

Also ich hatte das problem auch ich habs gelöst in dem ich die gb.txt Datei einmal zum schreiben geöffnet also fopen("gb.txt","w") dann alles mit fwrite() eingetragen und dann nochmal schließen fclose() und dann extra nochmal zum auslesen geöffnet hab. weil dann die gb.txt Datei ja Aktualiesiert wird.
Mit Zitat antworten
  #8  
Alt 24.05.2006, 18:39:42
SirBlack SirBlack ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 14
AW: Mein GB funktioniert nicht einwandfrei.

das hab ich ja auch so. unter dem hidden senden wird dort geöffnet, geschrieben und geschlossen. ???
Mit Zitat antworten
  #9  
Alt 24.05.2006, 23:09:58
Blade1965 Blade1965 ist offline
Junior Member
 
Registriert seit: Jan 2006
Alter: 58
Beiträge: 169
AW: Mein GB funktioniert nicht einwandfrei.

Also ich übergebe die Daten immer an eine bearbeiten.php.
Die macht den insert und leitet auf die Anzeigenseite wieder um.
So ist diese dann immer wieder aktuell.
Mit Zitat antworten
  #10  
Alt 28.05.2006, 21:13:14
SirBlack SirBlack ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 14
AW: Mein GB funktioniert nicht einwandfrei.

Und wie würde ich eine solche umleitung machen?
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
Dateinamen aus $PHP_SELF extrahieren pfuchs PHP für Fortgeschrittene und Experten 5 31.07.2003 13:18:49


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:27:31 Uhr.


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


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