PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wo ist der Fehler #2



TruckerB
04.02.2005, 11:19
So, ich wollte eigentlich mit dem Folgenden Script, dass sich der Besucher eine Hintergrundmusik aussuchen kann. Aber wie der Titel schon sagt, klapt es nicht ganz. Es wird beim Aufrufen zwar kein Fehler angezeigt aber die Musik wird auch nicht abgespielt.


<tr><td>Musik<br>
<form action="navi.php" method="post"><select size="1" name="music">
<option>Victory</option>
<option>Lied2</option>
<option>Lied3</option>
</select>
<input type="submit" value="Auswählen">
<?php
if ($_POST["music"]=="Victory") {
?>
<bgsound src="victory.MID" loop="1">
<?php
}
?>
</form></td></tr>

Könnte es vielleicht daran liegen, dass ich schon ein Formular mit php auf der Seite verwände??? Ich schreibe noch nicht so lange php und das ist das erste richtig selbst ausgedachte Script von mir

Latency
04.02.2005, 11:42
<tr><td>Musik<br>
<form action="navi.php" method="post"><select size="1" name="music">
<option>Victory</option>
<option>Lied2</option>
<option>Lied3</option>
</select>
<input type="submit" value="Auswählen">
<?php
if ($_POST["music"]=="Victory") {
echo '<bgsound src="victory.MID" loop="1">';
}
?>
</form></td></tr>
Textausgabe über PHP kannst du nicht einfach in den HTML-Code schreiben. Du musst funktionen wie echo oder print usw. dazu verwenden.

TruckerB
04.02.2005, 12:00
Mann bin ich ein Trottel!!!!!!!
Ich habe die Seite im Ordner meiner Website geschrieben, und sie dann in mein Localhost kopiert. Und ratet mal, wo die MID- Datei nicht war... §doof §hammer §wall
Das war ein §pdumm

Textausgabe über PHP kannst du nicht einfach in den HTML-Code schreiben. Du musst funktionen wie echo oder print usw. dazu verwenden.

if ($_POST["music"]=="Victory") {
?>
<bgsound src="victory.MID" loop="1">
<?php
}
?>
ob dus glaubst oder nicht, aber das geht wirklich. Der if befehl ist noch offen. Auch wenn der PHP Teil geschlossen wurde, sind noch alle folgenden Teile in dem If Befehl, biss die }-Klammer geschlossen wurde.

TruckerB
28.01.2006, 18:47
$work="SELECT work FROM accounts WHERE name=".$session[user][name] or die("Die Verbindung mit accounts konnte nicht hergestellt werden...");
$result=mysql_query($work) or die ("Accounts Befehl konnte nicht abgefragt werden");
Neues Problem...
"Accounts Befehl konnte nicht abgefragt werden"
Die Tabelle und die Spalte exestieren...

Lakos
28.01.2006, 19:41
$work="SELECT work FROM accounts WHERE name=".$session[user][name] or die("Die Verbindung mit accounts konnte nicht hergestellt werden...");
$result=mysql_query($work) or die ("Accounts Befehl konnte nicht abgefragt werden");
Neues Problem...
"Accounts Befehl konnte nicht abgefragt werden"
Die Tabelle und die Spalte exestieren...

Muss das nicht


name=".$session[$user][$name] or die("Die Verbindung mit accounts konnte nicht hergestellt werden...");

heißen?

Weiß es selber nicht, ich rate jetzt einfach mal... ^^

Rolus
29.01.2006, 01:56
Bei MySql Problemen ist es immer hilfreich, wenn man sich die Fehler anzeigen lässt (echo mysql_error();). Die erste Zeile scheint mir auch recht eigenartig - eine Die-Abfrage bei einer Stringzuweisung. Bei WHERE Bedingungen sollten die Werte in Hochkommas gesetzt werden, also WHERE name = 'Tom'. Und hast du sonst überprüft, ob du dich richtig bei der Datenbank angemeldet hast (mit den richtigen Zugangsdaten)?

freundliche Grüße, Rolus

TruckerB
29.01.2006, 08:46
So, zu diesem Code muss man sagen, das ich gerade ein Mod schreibe. Also die Datenbankverknüpfung ist in jedem fall richtig.
Das $session[user][name] ist ein Arry, das die Daten von dem User speichert.

Wenn ich nun das mit mysql_error mache, kommt folgende Nachicht:
Unknown column 'ADMIN' in 'where clause'

Also ADMIN, das ist schonmal mein Name.

Rolus
29.01.2006, 11:43
Der Name muss wie schon gesagt zwischen Hochkommas stehen, sonst wird er als Tabellenspalte aufgefasst und nicht gefunden. Versuch mal sowas:

$work="SELECT work FROM accounts WHERE name='".$session["user"]["name"]."';" or die("Die Verbindung mit accounts konnte nicht hergestellt werden...");
Der Sinn der OrDie-Anweisung ist mir zwar nicht wirklich klar, aber es schadet ja nichts. Probier einfach mal aus, ob MySql nun noch weitere Fehler ausspuckt.

freundliche Grüße, Rolus

Hrafnar Antønsson
10.02.2006, 16:15
[CSS]:


a:link {
font-family: tahoma;
font-size: 12px;
color: #0099CC;
text-decoration: none;
width: 800px;
}

das attribut "width" wird mit firefox nicht dargestellt. wie lautet der allgemein gültige code?