Antworten auf deine Fragen:
Neues Thema erstellen

Newsticker über Webinterface ändern

reznip

Noch nicht viel geschrieben

Hallo Zusammen!

Habe folgendes Problem:
Ich muss in eine Seite einen Newsticker einbauen. Nix besonderes, normaler "Marquee-Stil". Dieser soll allerdings über ein Eingabeformular per Browser änderbar sein. Auch möglichst einfach, also am besten nur ein Texteingabefeld für die News und einen Speichern-Button, mehr nicht.

Das ganze sollte in etwa so aussehen:


Und das am besten ohne PHP, da ich mir nicht sicher bin ob ich auf dem entsprechenden Webspace MySQL zur Verfügung habe.
Gibt es so etwas bereits zum downloaden oder hat jemand von Euch einen Tip wie ich so etwas umsetzten könnte?

Danke schon mal! :)
 

sokie

Mod | Web

AW: Newsticker über Webinterface ändern

serverseitige Belange müssen auch serverseitig gelöst werden, also mindestens php, um daten auf dem Server abzupeichern. bei kleinen tickermeldungen kann man das auch über eine text-datei (csv-datei) speichern.
 

beautyIAF

I like HDR

AW: Newsticker über Webinterface ändern

Es ist sicher auch jemand bereit dir bei der Erstellung des Formulars zur Seite zu stehen und Tipps zu geben.. wenn du mal ganz lieb fragst ;-)
 

Christian

verpeilt & verschallert

AW: Newsticker über Webinterface ändern

So ich hab da mal was für Dich gemacht:

Du brauchst insgesamt 3 Dateien.
- lauftext.csv _ Hier werden deine Lauftextdaten abgespeichert.
- displayTitle.php _ Mit dieser Datei wird die Lauftextdatei dargestellt als Marquee
- editCSV.php _ Mit dieser Datei kannst Du den Inhalt der Lauftextdatei verändern inkl. Login

Kommen wir zum Inhalt:

editCSV.php
PHP:
<?php 

/**
 * PASSWORT
 */
$pass		= 'abc';


/**
 * Ab hier nur ändern wenn man Ahnung hat!
 */
$whiteList	= array('LOGIN', 'AUTH_LOGIN', 'LOGOUT');
$fPath		= 'lauftext.csv';
$method 	= (isset($_GET['method'])?$_GET['method']:NULL);
function checkAuth()
{
	global $_COOKIE, $pass;
	if( isset( $_COOKIE['tAuth'] ) && $_COOKIE['tAuth'] == md5( $pass ) )
	{
		return true;
	}
	
	return false;
}

if( !checkAuth( ) && ( !in_array( strtoupper( $method ), $whiteList ) ) )
{
	header('Location: '.$_SERVER['PHP_SELF'].'?method=login' );
	exit;
}

switch( $method )
{
	case 'login':
		echo 'Bitte einloggen!<br/>'.PHP_EOL;
		echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'?method=auth_login">'.PHP_EOL;
		echo '<input type="password" name="pass"/>'.PHP_EOL;
		echo '<br /><input type="submit" name="login" value="login"/>'.PHP_EOL;
		echo '</form>';
		break;
	case 'auth_login':
		if( isset($_POST['pass']) && $_POST['pass'] == $pass )
		{
			setcookie( 'tAuth', md5($_POST['pass']), time()+7200 );
			header( 'Location: '.$_SERVER['PHP_SELF'].'?method=main' );
			exit;
		}
		
		header('Location: '.$_SERVER['PHP_SELF'].'?method=login' );
		exit;
		break;
	case 'logout':
		setcookie( 'tAuth', NULL, time()-7200 );
		header('Location: '.$_SERVER['PHP_SELF'].'?method=login' );
		exit;
		break;
	case 'main'; default:
			if( isset($_GET['op']) && $_GET['op'] == 'put' )
			{
				if( isset( $_POST['name'] ) && isset($_POST['link'] ) )
				{
					$string	= null;
					for( $i = 0; $i < sizeof($_POST['name']); $i++ )
					{
						if( strlen($_POST['link'][$i])>0)
						{
							$string	.= str_replace('"','""',$_POST['link'][$i]).';'.($_POST['name'][$i]?str_replace('"','""',$_POST['name'][$i]):str_replace('"','""',$_POST['link'][$i])).PHP_EOL;
						}
					}
					if( @file_put_contents( $fPath, $string ) )
					{
						echo 'Daten erfolgreich gespeichert.';
					}
					else
					{
						echo 'Es trat ein Fehler während des Speicherns auf.';
					}
				}
				else 
				{
					file_put_contents( $fPath, NULL );
				}
			}
				$fHandle	= @fopen( $fPath, 'r' ) or die( "Konnte $fPath nicht &ouml;ffnen." );
				$cContent	= array();
				while( false!== ( $row = fgetcsv( $fHandle, 8192, ';', '"' ) ) )
				{
					$li				= &$cContent[];
					$li['link']		= $row[0];
					$li['title']	= $row[1];
				}
				
				$js	= <<<JS
<script type="text/JavaScript">
var d = document;
var c = d.getElementById('container');
function addRow(  )
{
	for( var i = 0; i<1; i++ )
	{
		var sp	= d.createElement('span');
		var t1	= d.createElement('input');
		var t2	= d.createElement('input');
		
		t1.type	= 'text';
		t1.name	= 'link[]';
		
		t2.type	= 'text';
		t2.name = 'name[]';
		
		sp.appendChild(t1);
		sp.innerHTML += ' ';
		sp.appendChild(t2);
		sp.appendChild(d.createElement('br'));
		
		c.appendChild(sp);
	}
}
function deleteRowContent( node )
{
	var affected = node.parentNode;
	var list	 = affected.getElementsByTagName('input');
	for( var i = 0; i<list.length; i++ )
	{
		if( list[i].type == 'text' )
		{
			list[i].value = '';
		}
	}
}

function undelete( node ) 
{
	var affected = node.parentNode;
	var list	 = affected.getElementsByTagName('input');
	for( var i = 0; i<list.length; i++ )
	{
		if( list[i].type == 'text' )
		{
			list[i].value = list[i].defaultValue;
		}
	}
}
</script>
JS;
			echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'?method=main&op=put">';
			echo 'Inhalt der Datei:<br/><div id="container">';
			foreach( $cContent as $data )
			{
				echo '<span>
						<input type="text" name="link[]" value="'.$data['link'].'"/> 
						<input type="text" name="name[]" value="'.$data['title'].'"/> 
						<input type="button" onClick="deleteRowContent(this);" value="diese Zeile löschen"/>
						<input type="button" onClick="undelete(this);" value="rückgängig"/>
						<br/>
					</span>';
			}
			echo '</div><br /><input type="submit" value="Änderung absenden"> <input type="button" onClick="addRow();" value="Neue Zeile" /></form>'.$js;
		break;
}

?>

displayTitle.php
PHP:
<?php 

$fPath	= 'lauftext.csv';
$fHandle= @fopen( $fPath, 'r' );

$string	= '<marquee onMouseOver="this.stop();" onMouseOut="this.start();"> ';
while( false!== ($row = fgetcsv($fHandle, 8192,';','"')))
{
	$string	.= '<a href="'.$row[0].'">'.$row[1].'</a> ';
}
$string	.= '</marquee>';

echo $string;
?>

lauftext.csv
Code:
http://google.de;Jetzt schieb mal 'ne ruhige Google hier!

Soweit so gut, wie bindest Du das ganze jetzt in deine Seite?
So:
PHP:
<? include('displayTitle.php'); ?>

Wie bearbeitest Du die Daten?
im Browser die editCSV.php aufrufen und das Passwort eingeben (Standartpasswort ist: abc)

Wenn Du noch irgendwelche Fragen hast, stehe ich Dir gerne zur Verfügung


Christian
 

reznip

Noch nicht viel geschrieben

AW: Newsticker über Webinterface ändern

Hey 1000 Dank für die schnelle Hilfe!!! :)
Hatte zwar noch keine Zeit das Alles einzubauen, aber werd ich die nächsten Tage machen. Falls noch Fragen auftauchen meld ich mich.
 

reznip

Noch nicht viel geschrieben

AW: Newsticker über Webinterface ändern

Ok habs jetzt mal eingebaut. Funktioniert soweit auch einwandfrei. Super.
Nur möchte ich jetzt noch Schriftart Farbe und Größe meiner restlichen Seite anpassen.
Welche Paramter muss ich da wo einfügen? Denke dochmal in der displayTitle.php oder?
Sorry wenn ich so doof frage, aber hab von PHP net viel Ahnung. ;-)
 

Top_Gun

Aktives Mitglied

AW: Newsticker über Webinterface ändern

Nein...

Du hast deine Seite, eine ganz normale HTML-Datei. Hier kannst du alles so definieren wie du möchtest.
Diese Datei allerdings benennst du nun in .php um. Deine Seite sieht aus wie vorher, aber du kannst dort PHP verwenden.
Nun baust du an der entsprechenden Stelle
PHP:
<? include('displayTitle.php'); ?>
ein.
Fertig.

Nachträglich kannst du aber immernoch den HTML-Code verändern und auch Schriften und Farben definieren wie du möchtest.
 

reznip

Noch nicht viel geschrieben

AW: Newsticker über Webinterface ändern

Und die Geschwindigkeit vom Marquee? Wo ist da das Attribut für?
 

Top_Gun

Aktives Mitglied

AW: Newsticker über Webinterface ändern

Das ist noch nicht vorhanden und müsstest du in der displayTitle.php setzen

EDIT: Oder evtl mit CSS, aber aus dem Kopf weiß ich nicht ob das mit CSS geht, habe selbst nie Marquee benutzt...
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben