Willkommen in der Webstatt
User-1 am 04.03.06 11:34

mhh probiere schon den ganzen morgen ein datum speichern zu können aber irgendwie möchts ned :(
mysql_query('INSERT INTO `'.$mysql['table'].'` (`hp`,`name`, `nachricht`, `datum` )
VALUES (\''.addslashes($_POST['hp']).'\',\''.addslashes($_POST['name']).'\', \''.addslashes($_POST['nachricht']).'\', \''.time().'\')');

netcup.de Warum gibt es hier Werbung?
User-1 am 04.03.06 11:35

Quote
Original von xyz-29
mhh probiere schon den ganzen morgen ein datum speichern zu können aber irgendwie möchts ned :(
mysql_query('INSERT INTO `'.$mysql['table'].'` (`hp`,`name`, `nachricht`, `datum` )
VALUES (\''.addslashes($_POST['hp']).'\',\''.addslashes($_POST['name']).'\', \''.addslashes($_POST['nachricht']).'\', \''.time().'\')');


alle anderen aten kann ich speichern in der db und auslesen ,.

User-2 am 04.03.06 11:55

Spalte 'Datum' vom falschen Typ?

User-1 am 04.03.06 12:10

mhh
Datum datetime

(is das richtig so, mach mit mysql zum ersten ma),.

User-3 am 04.03.06 12:16

Das ist das MySql Date Format.
Nehm einfach INT.
Gruß,
xyz-95

User-4 am 04.03.06 12:23

Bäh, immer diese ollen Escapeorgien :/

<?php
$sql = "INSERT INTO `" . $mysql['table'] . "` SET hp='" . addslashes($_POST['hp']) . "', name='" . addslashes($_POST['name'] . "', nachricht='" . addslashes($_POST['nachricht'] . "', datum=NOW()";
mysql_query($sql);
?>

xyz-48n kannst du auch dein datetime behalten (was ich machen würde).

User-1 am 04.03.06 12:49

mhh dann bekomm ich nen Parse error: syntax error, unexpected ';' in E:\xampp\xampp\htdocs\projects\shoutbox\shoutbox.php on line 67
das wäre genau in der zeile die xyz-207 gepostet hat ,.

User-4 am 04.03.06 12:52

Ein ) hat gefehlt, sorry.

<?php
$sql = "INSERT INTO `" . $mysql['table'] . "` SET hp='" . addslashes($_POST['hp']) . "', name='" . addslashes($_POST['name']) . "', nachricht='" . addslashes($_POST['nachricht']) . "', datum=NOW()";
?>


*duckundweg*

User-1 am 04.03.06 12:58

mhh entweder bin ich dumm oder es das ich mich ned auskenne, aber es funktioniert immernoch nich ,..

User-2 am 04.03.06 12:58

Hä? Seit wann macht man denn Set =... bei INSERT INTO? ?(

User-5 am 04.03.06 13:04

Ähm, klar das geht:

SET-Methode:
$query = 'INSERT INTO blub
SET spalte1 = 1,
spalte2 = 2,
spalte3 = 3';


VALUE-Methode:
$query = 'INSERT INTO blub
VALUES (1,2,3)';


VALUE-Methode inkl. Spaltennamen:
$query = 'INSERT INTO blub (spalte1, spalte2, spalte3)
VALUES (1,2,3)';

User-4 am 04.03.06 13:04

Ist eine weitere Methode die ich persönlich präferiere.
Ich schau mir gleich nochmal den Code an :/
Evtl. mal nochmal den Code posten den du jetzt drinnen hast.

User-2 am 04.03.06 13:07

Echt? Ging das schon immer? Dachte, das macht man nur bei UPDATE? Macht ja auch irgendwie mehr Sinn, es nur da zu verwenden.

User-4 am 04.03.06 13:08

Schon seit immer. Warum sollte das nur bei UPDATE Sinn machen? Warum sollte ich umdenken in der Query Syntax wenn ich auch immer das selbe verwenden kann?

User-1 am 04.03.06 13:19

if(array_key_exists('submited', $_POST) && $_POST['submited'] == 'save') {
)
$error = array();

if(trim($_POST['name']) == '') $error[] = 'Bitte einen Namen angeben!';
if(trim($_POST['nachricht']) == '') $error[] = 'Bitte einen Text angeben!';

if(count($error) > 0) {

echo implode('<br />', $error);
} else {

mysql_query('INSERT INTO `'.$mysql['table'].'` (`hp`,`name`, `nachricht`, `datum` ) VALUES (\''.addslashes($_POST['hp']).'\',\''.addslashes($_POST['name']).'\', \''.addslashes($_POST['nachricht']).'\')');
} // End if..else
}

ds is der komplette reinschreib code,.

User-6 am 04.03.06 13:40

Jetz nur noch anpassen :baby:

User-5 am 04.03.06 13:43

Aktuell fügst du für 'datum' gar keinen Wert ein.
Bevor du da irgendwie mit time() oder now() anfängst, solltest du dir Gedanken über die Verwendung vom Datum machen.
Ich generier mir einen Timestamp ( time(); ) und füge ihn dann in ein INT(11) Feld ein. So kann man prima sortieren und auch nachher je nach belieben mit z.B. date("d.m.Y", $datum); ziemlich einfach das Datum darstellen.

$hp = addslashes($_POST['hp']);
$name = addslashes($_POST['name']);
$nachricht = addslashes($_POST['nachricht']);
$jetzt = time();
mysql_query("INSERT INTO '".$mysql['table']."' (hp, name, nachricht, datum)
VALUES ('".$hp."', '".$name."', '".$nachricht."', '".$jetzt."')") or die(mysql_error());

User-4 am 04.03.06 14:00

Ahh, also wieder eine Diskussion zum Thema datetime oder Timestamp in INT *hrhr*
Prima sortieren lassen kann man noch besser mit den von MySQL gegebenen Funkionen, Datumsberechnungen lassen sich easy und vorallem Performanter direkt von MySQL durchführen und die Formatierung des Datums geschieht auch direkt im Query.

Genug Argumente?

User-1 am 04.03.06 14:12

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''shoutbox' (hp, name, nachricht, datum) VALUES ('http:/' at line 1

kommt nun, irgendwie werd ich aus dem code auch nich so richtig schlau,.

User-6 am 04.03.06 15:59

Wer hat denn da nicht aufgepasst im MySQL Kurs? :P
Merke: Identifier in Backticks, Werte in Hochkommas.
http://dev.mysql.com/doc/refman/5.0/en/legal-names.html

User-1 am 04.03.06 16:17

kannste das auch ma auf deutsch erklären? , mach zum ersten mal was in mysql :D

User-6 am 04.03.06 16:21

Nö, lies einfach im Manual nach.

User-7 am 04.03.06 17:31

DIeses "Nö" ist ja eiskalt. :D

Wenn du Anfänger mit MySQL bist, solltest du dich erstmal mit einem Integer abfinden. Wenn dann das Script läuft, dann kann man das alles erweitern und optimieren. Aber du wirst vermutlich schon so genug Probleme damit haben...

User-1 am 04.03.06 19:40

also habs jetzt mit den komischen hochkommas gemacht (nich die halben anfuerungszeichen), scheint zu funzen jedoch bekomm ich dann immernoch diesen fehler ,..

Unknown column ''.[URL]http://.[/URL]'' in 'field list'

was soll das heissen?!


EDIT: nenenen funzt nich, wenn ich allerdings dieses hochkomma und das halbe anfuerhungszeichen durch ein " ersetze funzt soweit alles normal, ausser das ich immernoch kein datum hab ,.

User-6 am 04.03.06 22:24

Wie sieht deine Abfrage denn jetzt aus?

User-7 am 04.03.06 22:56

Ich vermute mal, dass du da irgendwo mit den ganzen ' nen Fehler gemacht hast. Ich geb dir mal nen Beispiel, wie ich solche Abfragen schreibe. Ist zwar sicher nicht die korrekteste Variante, aber es funzt bei mir mit XAMPP und auch online bei all-inkl. Kann also nicht soooo verkehrt sein.

mysql_query("SELECT Titel FROM news WHERE ID='21'");

User-8 am 04.03.06 23:31

Wenn wir schon dabei sind:
So würde meine Abfrage aussehen:
mysql_query("INSERT INTO `".$mysql['table']."` SET `hp` = '".addslashes($_POST['hp'])."', `name` = '".addslashes($_POST['name'])."', `nachricht` = '".addslashes($_POST['nachricht'])."', `datum` = '".time()."';");

User-9 am 04.03.06 23:35

Quote
Original von xyz-58
Ich vermute mal, dass du da irgendwo mit den ganzen ' nen Fehler gemacht hast. Ich geb dir mal nen Beispiel, wie ich solche Abfragen schreibe. Ist zwar sicher nicht die korrekteste Variante, aber es funzt bei mir mit XAMPP und auch online bei all-inkl. Kann also nicht soooo verkehrt sein.

mysql_query("SELECT Titel FROM news WHERE ID='21'");


ist auch nicht sooo verkehrt aber hochkommas sollten noch rein (ich weiss es funzt auch ohne aber nur der vollständigkeit wegen)

mysql_query("SELECT `Titel` FROM `news` WHERE `ID`='21'");

User-1 am 05.03.06 11:46

also jetzt hab ich es so gemacht wie es dianosos geschrieben hat , und hab auch jetzt in der db
"1141555723" stehen, (besser wie vorher als garnix drin war), nur was kann ich damit anfangen?

User-10 am 05.03.06 11:53

das is ein sog timestamp

wie de grunsätzlich damit umgehen kannst, kannst hier nachlesen:

http://www.schattenbaum.net/php/datum.php

User-1 am 05.03.06 13:25

ok jetzt funktioniert es endlich, hat aber jemand ne ahnung wie ich datenbankeinträge zählen kann?

User-9 am 05.03.06 13:37

$sql="SELECT * FROM `tabelle`";
$erg=mysql_query($sql);
$anz_einträge=mysql_num_rows($erg); //mysql_num_rows zählt deine Einträge

User-7 am 05.03.06 13:42

Wegen den Hochkommas. Das habe ich mal getestet, indem ich einfach so nen ausgegeben Query von PHPMyAdmin abgefragt habe. Der hat bei PHPMyAdmin bestens funktioniert, nur leider nicht in meinem eigenen Script.
Dadurch hab ich von den ` dann Abstand genommen.

User-6 am 05.03.06 14:13

xyz-52, wie unperformant.. ;)
> select count(*) as num from foobar

User-9 am 05.03.06 15:52

@xyz-145: sry bin halt ein seht brachialer coder:P

@dustwolf: dann war wahrscheinlich ein fehler in deinem script an einer anderen stelle oder die db was down. weil wie du ja sagst, phpmyadmin stellt dir ja die "richtigen" querys parat

User-1 am 05.03.06 21:58

mhh ok auch das hab ich nun hinbekommen
jedoch hab ich mir überlegt , wie das vielleicht funktioniert das die db nur eine gewisse anzahl von einträgen umfasst, und wenn diese erreicht ist,
die ältesten wieder überschreibt,.

User-6 am 06.03.06 14:28

Warum denn löschen/überschreiben? Angst um den Speicherplatz? :D
Lies einfach mit einem Limit aus und feddich:
> select foo from bar limit 10

User-1 am 06.03.06 18:55

danke xyz-145,.. hat gefunzt, nein das mit dem speicherplatz is mir doch egal :D
nur wenn man ehh nur 10 beiträge z.B. lesen kann bei ner shoutbox, müssen ja nich viele tausende in der db gespeichert werden oder :?

#### text to smilie
$row['$nachricht'] = str_replace(":P", "<img src=\"$grafik/zunge.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":grrr:","<img src=\"$grafik/boese.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":nanana:","<img src=\"$grafik/nanana.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":harg:","<img src=\"$grafik/zaehne.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":blabla:","<img src=\"$grafik/grins.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":heul:","<img src=\"$grafik/heul.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":traurig:","<img src=\"$grafik/traurig.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":D","<img src=\"$grafik/lachen.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":0","<img src=\"$grafik/nanana.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":cool:","<img src=\"$grafik/cool.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":)","<img src=\"$grafik/grins.gif\">", $nachricht);
$row['$nachricht'] = str_replace(";)","<img src=\"$grafik/zwinker.gif\">", $nachricht);
$row['$nachricht'] = str_replace(":frag:","<img src=\"$grafik/frag.gif\">", $nachricht);
?>

<table width="120" border="0" bgcolor="#0099FF">
<tr>
<td width="70"><font color="#0033FF"><a href="<?php echo stripslashes($row['hp']); ?>"><?php echo stripslashes($row['name']); ?></a></font></td>
<td width="42">&nbsp;</td>
</tr>
<tr>
<td height="23" colspan="2"><font color="#0033FF"><?php echo $datum,"-",$uhrzeit,"Uhr"; ?></font><font color="#0033FF">&nbsp;
</font></td>
</tr>
<tr>
<td colspan="2"><font color="#0033FF"><?php echo "$nachricht"; ?></font></td>
</tr>
</table>
jetzt hab ich nurnoch ein letztes problem, es möchte mir nicht bei dem gespeicherten Text, bei der ausgabe alle smilie kombinationen in bilder umwandeln :( obwohl das eigentlich mal so funktioniert hat ( hatte mal ne shoutbiox auf txt datein basis,.)

User-6 am 06.03.06 19:37

$row['$nachricht'] ist eben was anderes als $nachricht ;)
Einfacher geht's per Array:
<?php
$grafik = '/img/';
$smilies = array(
':)' => 'grins.gif',
':)' => 'grins.gif',
':)' => 'grins.gif'
);
foreach( $smilies as $code => $bild ) {
$row['$nachricht'] = str_replace( $code, '<img src="'.$grafik.$bild.'" alt="'.$code.'" />', $row['$nachricht'] );
}
?>

User-1 am 06.03.06 19:52

jo0 scheint einfacher zu sein, aba irgendwie funktioniert das auch nit,
denn wenn ich den coe einbaue und anpasse, zeigt er mir die $nachricht ne mehr an ,.

EDIT:ahh doch jetzt funzts, weil das "$" vor nachricht zu viel war

achso, kann man eigentlich die maximale anzahl der zeichen in einem eingabefeld mit php beschränken?

User-11 am 11.03.06 21:41

Quote
Original von xyz-145
xyz-52, wie unperformant.. ;)
> select count(*) as num from foobar

Und das Ergebnis wird in 'num' gespeichert? Darf ich fragen, wie man das dann ausgeben kann?

User-12 am 11.03.06 22:19

$query = mysql_query('SELECT COUNT(*) num FROM foobar');
$data = mysql_fetch_assoc($query);
print $data['num']

Meinst du das? Ich habe nur den letzten Beitrag hier gelesen...

User-11 am 11.03.06 22:29

Ja, das meinte ich. Aber dann könnte man doch auch einfach SELECT in Verbindung mit mysql_num_rows verwenden, oder?

User-12 am 12.03.06 01:28

Ich weiß nicht wie mysql_num_rows implementiert ist - vielleicht ist die COUNT() Sache schneller.
Als weiteres Pro-Argumentation kommt mir die Partabilität in den Sinn. mysql_num_rows gibt es nicht in allen Sprachen (eher noch in wenigen) COUNT() klappt aber "immer"

User-4 am 12.03.06 01:39

Es gilt : Aufgaben die MySQL erledigen kann > Aufgaben die MySQL erledigen kann aber von PHP gelöst werden.

User-12 am 12.03.06 01:45

mysql_num_rows benutzt ja auch MySQL um die Aufgabe zu lösen. Dass es nicht für jede MySQL Funktionalität eine "Wrapper" Funktion gibt, muss klar sein.

User-6 am 12.03.06 10:00

mysql_num_rows() wird ja bekanntlich mit einem ResultSet gefüttert. Man muss also erstmal die komplette (mehr oder weniger) Tabell von MySQL nach PHP schaufeln lassen, um dann in die Größe des Ergebnisses bestimmen zu können. (PHP-intern!)
Wenn man allerdings nur die Anzahl der Datensätzt braucht, oder nur einen Teil der Tabelle benötigt, sollte / muss man auf count() zurückgreifen.

User-1 am 14.03.06 19:42

mhh
hab wieder ein kleines prob, und zwar is wenn ich
function links($nachricht) {
$p[] = '"(( |^)((ftp|http|https){1}://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)"i';
$r[] = '<a href="\1" target="_blank">\\1</a>';
$p[] = '"( |^)(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)"i';
$r[] = '\\1<a href="http://\2" target="_blank">\\2</a>';
$p[] = '"([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})"i';
$r[] = '<a href="mailto:\1">\\1</a>';
$nachricht = preg_replace($p, $r, $nachricht);
return $nachricht;
}


bekomme ich diesen fehler
Fatal error: Cannot redeclare links() (previously declared in.... zeile 81, das ist die zeile wo function drin steht,.

User-6 am 14.03.06 19:51

http://www.google.de/search?q=Fatal+error%3A+Cannot+redeclare

User-1 am 14.03.06 20:07

das hat aberr damit nichts zu tun , oder is ja weder include noch require

User-6 am 14.03.06 20:21

Schön, dass du dich mit dem erstbesten von 408.000 Ergebnissen zufrieden gibst. :)
Aber versuche es doch bitte trotzdem Mal mit dem zweiten oder sogar dritten Ergebnis...

User-12 am 14.03.06 20:22

Meiner Meinung nach ist der Fehler aber sicher, dass die Funktion schon vorher deklariert wurde.
Du kannst den Fehler umgehen (NICHT lösen) wenn du einfach abfragst ob es die Funktion schon gibt:

if(!function_exists('links')) {
function linke() {
....
}
}


Allerdings rate ich den Fehler zu suchen. Wird der Codeteil vielleicht in einer Schleife aufgerufen?

xyz-141el

User-1 am 14.03.06 20:30

mhh <?php
$query = mysql_query('SELECT * FROM `'.$mysql['table'].'` ORDER BY `id` DESC LIMIT 5 ');
// Das eigentliche auslesen
while($row = mysql_fetch_assoc($query)) {
#######uhrzeit umwandeln
$timestamp = $row['datum'];
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);

function links($nachricht) {
$p[] = '"(( |^)((ftp|http|https){1}://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)"i';
$r[] = '<a href="\1" target="_blank">\\1</a>';
$p[] = '"( |^)(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)"i';
$r[] = '\\1<a href="http://\2" target="_blank">\\2</a>';
$p[] = '"([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})"i';
$r[] = '<a href="mailto:\1">\\1</a>';
$nachricht = preg_replace($p, $r, $nachricht);
return $nachricht;
}


$smilies = array(
':P' => 'zunge.gif',
':grrr:' => 'boese.gif',
':nanana:' => 'nanana.gif',
':harg:' => 'zaehne.gif',
':blabla:' => 'grins.gif',
':heul:' => 'heul.gif',
':traurig:' => 'traurig.gif',
':D' => 'lachen.gif',
':0' => 'nanana.gif',
':cool:' => 'cool.gif',
':)' => 'grins.gif',
';)' => 'zwinker.gif',
':frag:' => 'frag.gif'
);
foreach( $smilies as $code => $bild ) {
$row['nachricht'] = str_replace( $code, '<img src="'.$grafik.$bild.'" alt="'.$code.'" />', $row['nachricht'] );
}
?>

<table width="120" border="0" bgcolor="#FFFFFF">
<tr>
<td width="70"><font color="#0033FF"><a href="<?php echo stripslashes($row['hp']); ?>"><?php echo stripslashes($row['name']); ?></a></font></td>
<td width="42">&nbsp;</td>
</tr>
<tr>
<td height="23" colspan="2"><font color="#0033FF" size="-3"><?php echo $datum,"-",$uhrzeit,"Uhr"; ?>&nbsp;
</font><font color="#0033FF">&nbsp; </font></td>
</tr>
<tr>
<td colspan="2"><font color="#0033FF"><?php echo stripslashes($row['nachricht']); ?></font></td>
</tr>
</table>
<?php
} // End While

User-12 am 14.03.06 20:32

Da haben wir es doch. Du definierst die Funktion innerhalb der while Schleife, also bei jedem Durchlauf neu.
Definiere sie einfach vor der Schleife und der Fehler ist weg.

User-6 am 14.03.06 20:35

Oder Zeile 10 und 19 weg und statt $nachricht $row['nachricht'].
Davor müsstest du noch die Arrays $p und $r leeren mit$p = $r = array(); // Geht das überhaupt so dreckig..? :\denn sonst würden die ja bei jedem Durchlauf größer werden.

User-1 am 14.03.06 20:44

jo jetzt funkts :D hab mir schon gedacht das es was mit der while schleife zu tun hat ,. :(

User-1 am 14.03.06 20:47

jo jetzt funkts :D hab mir schon gedacht das es was mit der while schleife zu tun hat ,. :(
aba mal ne andere sache hier bekomm ich nen Parse error: syntax error in der zeile if($result->getRows())
<?php
$db = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
if(DB::isError($db))
{
die($db->getMessage());
}
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$id = $_GET['id'];
$mysql['handle'] = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
mysql_select_db($mysql['root']);
$result = $db->query(sprintf('SELECT
*
FROM
downloads
WHERE
ID="%u"', $_GET['id']
)
if($result->getRows())
{
$row = $result->fetchRow("");
echo "<p>Voll die Fette Werbung damit der Traffic auch bezaht wird</p>";
#echo "<p>Starte des Downloads von '.$_SESSION['datei'].'</p>";
echo "<p>";
echo "<a href="'.$_SERVER['PHP_SELF'].'?="$id"">";
echo "Download starten";
echo "</a>";
echo "</p>";
}
elseif {
echo 'Kein Download mit dieser ID gefunden: '.$_GET['id'];
} else {
echo 'Bitte geben sie eine Download-ID an';
}

}
?>

User-12 am 14.03.06 20:56

Da fehlt ein Semikolon am Zeilenende nach der schließenden Klammer in der Zeile darüber.

User-1 am 14.03.06 21:05

mhh wenn ich da aber eins hinmache bekomm ich
Parse error: syntax error, unexpected ';'

User-12 am 14.03.06 21:10

Oh es fehl anscheinend auch noch eine Klammer:

$result = $db->query(sprintf('SELECT
*
FROM
downloads
WHERE
ID="%u"', $_GET['id']
));
if($result->getRows())

User-1 am 14.03.06 21:37

mhh dann bekomm ich aber immernoch nen Parse error: syntax error, unexpected '{', expecting '('
hier

) elseif (

User-12 am 14.03.06 21:42

} elseif(Bedingung) {
oder
} else {

User-1 am 14.03.06 21:50

mhh das gibts ja wohl nich .(

Parse error: syntax error, unexpected T_ELSE in } else {

echo "Download starten";
echo "</a>";
echo "</p>";
} else {
echo 'Kein Download mit dieser ID gefunden: '.$_GET['id'];
} else {
echo 'Bitte geben sie eine Download-ID an';
}


also das versteh nu wer will

User-4 am 14.03.06 22:23

:/
Wenn {
dann tu
} ansonsten {
tu
} ansonsten {
tu
}

Fällt dir die Logik auf?

User-12 am 14.03.06 22:48

ja das kann ja auch nicht gehen
if(Bedingung) {
...
} elseif(Bedingung) {
...
} else {
...
}

Es gibt genu einen IF und genau einen ELSE Teil. Dazwischen beliebig viele (auch keine) elseif. Jedes elseif braucht eine Bedingung - ansonsten hätte es auch keinen Sinn ;)

User-1 am 15.03.06 09:59

mhh hatt mich vielleicht falsch ausgedrückt,. das war nur ein ausschnitt,.huier ma das ganze, (hab alle klammern überprüft , aber irgendwie keinen fehler festgestellt,.

<?php
require ("config.php");


if(empty($_GET['id']))
{
// Verbindet zum MySQL-Server
$mysql['handle'] = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
// Und wählt die Datenbank aus
mysql_select_db($mysql['root']);
$query = mysql_query('SELECT * FROM `'.$mysql['table'].'` ORDER BY `id` DESC ');
// Das eigentliche auslesen
while($row = mysql_fetch_assoc($query)) {
#######uhrzeit umwandeln
$timestamp = $row['datum'];
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
?>
<table width="75%" border="1">
<tr>
<td>ID</td>
<td>Name</td>
<td>BESCH</td>
<td>Gr&ouml;&szlig;e</td>
<td>Klicks</td>
<td>Datum</td>
</tr>
<tr>
<td><? echo"$row[id]";?></td>
<td><? echo"$row[name]";?></td>
<td><? echo"$row[besch]";?></td>
<td><? echo"$row[size]";?></td>
<td><? echo"$row[klicks]";?></td>
<td><? echo"$row[datum]";?></td>
</tr>
</table>
<?php

}
} else {
$db = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
if(DB::isError($db))
{
die($db->getMessage());
}
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$id = $_GET['id'];
$mysql['handle'] = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
mysql_select_db($mysql['root']);
$result = $db->query(sprintf('SELECT
*
FROM
downloads
WHERE
ID="%u"', $_GET['id']
)
);
if($result->getRows())

{
$row = $result->fetchRow();
echo "<p>Voll die Fette Werbung damit der Traffic auch bezaht wird</p>";
#echo "<p>Starte des Downloads von '.$_SESSION['datei'].'</p>";
echo "<p>";
#echo "<a href="'.$_SERVER['PHP_SELF'].'?=$id"'>";
echo "Download starten";
echo "</a>";
echo "</p>";
} else {
echo 'Kein Download mit dieser ID gefunden: '.$_GET['id'];
} else {
echo 'Bitte geben sie eine Download-ID an';
}
}//ende 1.else
?>

User-1 am 16.03.06 18:45

mhh keiner ne idee?

User-13 am 16.03.06 19:35

Quote
Original von xyz-141el
ja das kann ja auch nicht gehen
if(Bedingung) {
...
} elseif(Bedingung) {
...
} else {
...
}

Es gibt genu einen IF und genau einen ELSE Teil. Dazwischen beliebig viele (auch keine) elseif. Jedes elseif braucht eine Bedingung - ansonsten hätte es auch keinen Sinn ;)


und jetzt schau dir die Zeilen 69 - 72 mal genauer an ;)

User-1 am 16.03.06 20:01

mhh hier isn fehler drin und muss geschen hab diesen teil aus nen tut rausgenommen

$result = $db->query(sprintf[/B]('SELECT
*
FROM
downloads
WHERE
ID="%u"', $_GET['id']
)
);

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt