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

Shoutbox nicht valide - kann kein PHP, brauche Hilfe

Status
Für weitere Antworten geschlossen.

Teela

Mitglied
Hallo zusammen!

Ich habe ein ziemliches Problem.
Ein Bekannter von mir hat mir eine Shoutbox programmiert,
die ich in meine Website eingebaut habe.
Nun habe ich die Seite durch den Validator laufen lassen.
Alle Fehler, die dort noch angezeigt werden, stammen von der Shoutbox.
Mein Bekannter hat gesagt, er könnte das nicht reparieren,
und ich selbst kann kein php, daher hoffe ich,
dass mir hier jemand weiterhelfen kann.

Es geht um folgende Seite: http://www.anime4ever.info/index.php
hier ist das Validator-Ergebnis: http://validator.w3.org/check?uri=http://www.anime4ever.info/index.php
hier der PHP-Code der Shoutbox:
PHP:
<script type="text/javascript">
var namedeleted = false;
var textdeleted = false;
var maildeleted = false;
var httpdeleted = false;

function deletenamevalue()
{
	if ( namedeleted  == false && document.all.Name.value == "Name" )
	{
		document.all.Name.value = "";
		namedeleted = true;
	}
}
function deletetextvalue()
{
	if ( textdeleted  == false && document.all.Text.value == "Text" )
	{
		document.all.Text.value = "";
		textdeleted = true;
	}
}
function deletemailvalue()
{
	if ( maildeleted  == false && document.all.Mail.value == "Mail" )
	{
		document.all.Mail.value = "";
		maildeleted = true;
	}
}
function deletehttpvalue()
{
	if ( httpdeleted  == false && document.all.Website.value == "Website" )
	{
		document.all.Website.value = "http://";
		httpdeleted = true;
	}
}
</script>
<?
/* Diese Konfigurationen sollten nicht geändert werden, wenn das System läuft. */
	$dbms = 'mysql';
	$db_host = 'localhost';
	$db_name = 'xxx';
	$db_user = 'xxx';
	$db_pass = 'xxx';
	$db_domain = 'localhost';
/* Verbindung zur Datenbank aufbauen */
	$db = mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
	mysql_select_db($db_name) or die(mysql_error());
/* Funktionen */
	function encode_ip($dotquad_ip)
	{
		$ip_sep = explode('.', $dotquad_ip);
		return sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]);
	}

	function decode_ip($int_ip)
	{
		$hexipbang = explode('.', chunk_split($int_ip, 2, '.'));
		return hexdec($hexipbang[0]). '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]);
	}
/* Beginn des Haupttextes */

if ( $_POST['Text'] != "" && $_POST['Name'] != "" )
{
	$name = "'" . $_POST['Name'] . "'";
	$text = "'" . $_POST['Text'] . "'";
	$text = str_replace("<", "&lt;", $text);
	$text = str_replace(">", "&gt;", $text);
	$mail = $_POST['Mail'];
	$Website = $_POST['Website'];
	$ip = $_SERVER['REMOTE_ADDR'];
	$ip = encode_ip($ip);
	if ($Website != "")
	{
		if (!preg_match('#^http[s]?:\/\/#i', $Website))
		{
			$Website = 'http://' . $Website;
		}

		if (!preg_match('#^http[s]?\\:\\/\\/[a-z0-9\-]+\.([a-z0-9\-]+\.)?[a-z]+#i', $Website))
		{
			$Website = 'NULL';
		}
		else
		{
			$Website = "'" . $Website . "'";
		}
	}
	$mail = ( $mail == "@" ) ? "NULL" : "'" . $mail . "'";
	$sql_insert = "INSERT INTO shoutbox (Name, Text, Mail, Website, shouttime, IP) VALUES (" . $name . ", " . $text . ", " . $mail. ", " . $Website . ", '" . time() . "', '" . $ip . "')";
	mysql_query($sql_insert)or die(mysql_error());
}
elseif ( $_POST['Text'] == "" && $_POST['Name'] != "" )
{
	echo "<span class=\"all\">Du hast keinen Text eingegeben! Dieser ist nötig um deinen Beitrag abschicken zu können und zu speichern!</span>";
}
elseif ( $_POST['Text'] != "" && $_POST['Name'] == "" )
{
	echo "<span class=\"all\">Du hast keinen Namen eingegeben, bitte gib einen Namen an um den Beitrag speichern zu können!</span>";
}
elseif ( isset($_POST['sent_values']) && $_POST['text'] == "" && $_POST['Name'] == "" )
{
	echo "<span class=\"all\">Du musst einen Namen und einen Text angeben!</span>";
}
?>
<table border="0" >
<?
$counter = "SELECT COUNT(ID) AS total FROM shoutbox";
$row = mysql_query($counter); 
$row = mysql_fetch_array($row);
$sb_entries = $row['total'];

$sql = mysql_query("SELECT * FROM shoutbox ORDER BY ID DESC");
if ( $sb_entries != "0" )
{
	while ( $obj = mysql_fetch_object($sql) )
	{

?>
    <tr>
      <td  class="<? echo ( $bgcount == "0" ) ? "SB_table0" : "SB_table1"; ?>" class="all">
<?
		if ( $obj->Mail != "" )
		{
			if ( $obj->Website != "" )
			{
				echo "<a href=\"mailto:" . $obj->Mail . "\">" . $obj->Name . "</a> (<a href=\"" . $obj->Website . "\" target=\"_blank\">HTTP</a>) schrieb am " . date(d . "." . m . "." . Y, $obj->shouttime) . " um " . date(H . ":" . i . ":" . s, $obj->shouttime);
			}
			else
			{
				echo "<a href=\"mailto:" . $obj->Mail . "\">" . $obj->Name . "</a> schrieb am " . date(d . "." . m . "." . Y, $obj->shouttime) . " um " . date(H . ":" . i . ":" . s, $obj->shouttime);	
			}
		}
		else
		{
			if ( $obj->Website != "" )
			{
				echo $obj->Name . " (<a href=\"" . $obj->Website . "\" target=\"_blank\">HTTP</a>) schrieb am " . date(d . "." . m . "." . Y, $obj->shouttime) . " um " . date(H . ":" . i . ":" . s, $obj->shouttime);
			}
			else
			{
				echo $obj->Name . " schrieb am " . date(d . "." . m . "." . Y, $obj->shouttime) . " um " . date(H . ":" . i . ":" . s, $obj->shouttime);
			}
		}
		echo "<br /><br />" . $obj->Text;
?>
      </td>
    </tr>
<?
		$bgcount = ( $bgcount == "0" ) ? "1" : "0";
	}
	echo "<a name=\"bottom\"></a>";
}
else
{
?>
    <tr>
      <td  class="all">
        Es sind keine Einträge in der Shoutbox vorhanden!
      </td>
    </tr>

<?
}
?>
</table>
<form name="shottext" method="post">
  <table border="0"  class="SB_formarea" valign="top">
    <tr>
      <td align="center">
        <input type="Text" name="Name" class="SB_input" onClick="deletenamevalue()" value="<?
if ( isset($_POST['Name']) && $_POST['Name'] != "")
{
	echo $_POST['Name'];
}
else 
{
	echo "Name";
}
?>
" maxlength="10" style="width: 90%;">
      </td>
    </tr>
    <tr>
      <td align="center">
        <input type="Text" name="Text" class="SB_input" onClick="deletetextvalue()" value="<?
if ( isset($_POST['Text']) && $_POST['Text'] != "")
{
	echo $_POST['Text'];
}
else
{
	echo "Text";
}
?>" maxlength="150" style="width: 90%;">
      </td>
    </tr>
    <tr>
      <td align="center">
        <input type="Text" name="Mail" class="SB_input" onClick="deletemailvalue()" value="<?
if ( isset($_POST['Mail']) && $_POST['Mail'] != "@" && $_POST['Mail'] != "" )
{
	echo $_POST['Mail'];
}
else
{
	echo "Mail";
}
?>" maxlength="30" style="width: 90%;">
      </td>
    </tr>
    <tr>
      <td align="center">
        <input type="Text" name="Website" class="SB_input" onClick="deletehttpvalue()" value="<?
if ( isset($_POST['Website']) && $_POST['Website'] != "http://" && $_POST['Website'] != "")
{
	echo $_POST['Website'];
}
else
{
echo "Website";
}
?>
" maxlength="50" style="width: 90%;">
      </td>
    </tr>
    <tr>
      <td align="center">
	<input type="hidden" name="sent_values" value="true">
        <input type="submit" class="SB_button" value="Senden">
      </td>
    </tr>
  </table>
</form>

Und hier der benötigte CSS-Code (zumindest hat der Validator an irgendwas mit diesen Klassen rumgemeckert...):
Code:
.SB_table0 {
	padding: 5px;
	background-color: #DEDEFB;
	color: #000000;
	font-size: xx-small;
}

.SB_table1 {
	padding: 5px;
	background-color: #ccf;
	color: #000000;
	font-size: xx-small;
}

.all {
	font-size: 12px;

Ich wäre wirklich sehr sehr froh,
wenn mir jemand das Ganze in valides PHP umwandeln könnte,
da ich davon wirklich keine Ahnung habe ^^"

Teela

PS: Ein paar Probleme wären da noch:
- Im Internet Explorer werden die Eingabefelder nicht auf voller Breite angezeigt.
- Unten wird eine transparente Scrollbar angezeigt, die sollte weg.
- Die Shoutbox postet in die falsche Richtung, die neuesten Posts sollten oben stehen
- Die Shoutbox sollte beim Laden ganz nach unten (zu den neuesten Posts/Eingabefeldern) scrollen

Wäre super, wenn man das auch irgendwie in Ornung bringen könnte...

EDIT: Hab den Link geändert, der müsste jetzt funktionieren...
 
Zuletzt bearbeitet:
jo, wir können dir auch net helfen, weil das kein php ist
--> lies' doch mal die erste zeile

Nils aka XraYSoLo
 
XraYSoLo schrieb:
jo, wir können dir auch net helfen, weil das kein php ist
--> lies' doch mal die erste zeile
Stimmt, und wenn du ein wenig runter gescrollt hättest, dann wäre dir auch PHP-Code begegnet. :wink:

Gruß
Hobbyuser
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben