Webstatt.org - Community seit 2006 - 2012 (2024?)

bekomme kein datum in die mysql db

user-139
04.03.2006 10:34

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

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-139
04.03.2006 10:35

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


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

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-173
04.03.2006 10:55

Spalte 'Datum' vom falschen Typ?

Abi 2oo7
user-139
04.03.2006 11:10

mhh
Datum datetime

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

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-205
04.03.2006 11:16

Das ist das MySql Date Format.
Nehm einfach INT.
Gruß,
Jonas

Avatar user-317
04.03.2006 11: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);
?>

Dann kannst du auch dein datetime behalten (was ich machen würde).

user-139
04.03.2006 11: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 user-317 gepostet hat ,.

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-317
04.03.2006 11: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-139
04.03.2006 11:58

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

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-173
04.03.2006 11:58

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

Abi 2oo7
user-210
04.03.2006 12: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)';

Sie haben soeben die Position Ihres Mauszeigers auf dem Monitor verändert. Bitte starten sie Windows neu damit die Änderungen wirksam werden.
Avatar user-317
04.03.2006 12: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-173
04.03.2006 12:07

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

Abi 2oo7
Avatar user-317
04.03.2006 12: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-139
04.03.2006 12:19

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

if(trim($_POST['name']) == ''zwinkern $error[] = 'Bitte einen Namen angeben!';
if(trim($_POST['nachricht']) == ''zwinkern $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']).'\'zwinkern'zwinkern;
} // End if..else
}

ds is der komplette reinschreib code,.

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-255
04.03.2006 12:40

Jetz nur noch anpassen :baby:

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-210
04.03.2006 12: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."'zwinkern"zwinkern or die(mysql_error());

Sie haben soeben die Position Ihres Mauszeigers auf dem Monitor verändert. Bitte starten sie Windows neu damit die Änderungen wirksam werden.
Avatar user-317
04.03.2006 13: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-139
04.03.2006 13: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,.

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-255
04.03.2006 14:59

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

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-139
04.03.2006 15:17

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

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-255
04.03.2006 15:21

Nö, lies einfach im Manual nach.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-168
04.03.2006 16:31

DIeses "Nö" ist ja eiskalt. Fettes Grinsen

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

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
user-139
04.03.2006 18: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 ''.http://.'' 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 ,.

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-255
04.03.2006 21:24

Wie sieht deine Abfrage denn jetzt aus?

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-168
04.03.2006 21: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'"zwinkern;

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
Avatar user-125
04.03.2006 22: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()."';"zwinkern;

Liebe user-125y aka user-125 aka dionysos
Avatar user-162
04.03.2006 22:35

Original von user-168
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'"zwinkern;


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'"zwinkern;

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
user-139
05.03.2006 10: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?

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-150
05.03.2006 10:53

das is ein sog timestamp

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

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

Mehr schlaue Sprüche gibt es auf: anotherstyle.de Psicologia
user-139
05.03.2006 12:25

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

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-162
05.03.2006 12:37


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

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
Avatar user-168
05.03.2006 12: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.

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
Avatar user-255
05.03.2006 13:13

der_nic, wie unperformant.. zwinkern
> select count(*) as num from foobar

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-162
05.03.2006 14:52

@milahu: sry bin halt ein seht brachialer coderfrech

@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

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
user-139
05.03.2006 20: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,.

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-255
06.03.2006 13:28

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

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-139
06.03.2006 17:55

danke user-255,.. hat gefunzt, nein das mit dem speicherplatz is mir doch egal Fettes Grinsen
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 verwirrt

#### text to smilie
$row['$nachricht'] = str_replace("frech", "<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("Fettes Grinsen","<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("lächeln","<img src=\"$grafik/grins.gif\">", $nachricht);
$row['$nachricht'] = str_replace("zwinkern","<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 traurig obwohl das eigentlich mal so funktioniert hat ( hatte mal ne shoutbiox auf txt datein basis,.)

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-255
06.03.2006 18:37

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

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-139
06.03.2006 18: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?

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-325
11.03.2006 20:41

Original von user-255
der_nic, wie unperformant.. zwinkern
> select count(*) as num from foobar

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

PHP spricht hebräisch. lächeln
Parse error: syntax error, unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM
Avatar user-253
11.03.2006 21:19

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

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

Avatar user-325
11.03.2006 21:29

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

PHP spricht hebräisch. lächeln
Parse error: syntax error, unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM
Avatar user-253
12.03.2006 00: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"

Avatar user-317
12.03.2006 00:39

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

Avatar user-253
12.03.2006 00: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.

Avatar user-255
12.03.2006 09: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.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-139
14.03.2006 18: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,.

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-255
14.03.2006 18:51

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

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-139
14.03.2006 19:07

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

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-255
14.03.2006 19:21

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

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-253
14.03.2006 19: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'zwinkern) {
function linke() {
....
}
}


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

Michael

user-139
14.03.2006 19:30

mhh
<?php
$query = mysql_query('SELECT * FROM `'.$mysql['table'].'` ORDER BY `id` DESC LIMIT 5 'zwinkern;
// 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(
'frech' => 'zunge.gif',
':grrr:' => 'boese.gif',
':nanana:' => 'nanana.gif',
':harg:' => 'zaehne.gif',
':blabla:' => 'grins.gif',
':heul:' => 'heul.gif',
':traurig:' => 'traurig.gif',
'Fettes Grinsen' => 'lachen.gif',
':0' => 'nanana.gif',
'cool' => 'cool.gif',
'lächeln' => 'grins.gif',
'zwinkern' => '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

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-253
14.03.2006 19: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.

Avatar user-255
14.03.2006 19: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.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-139
14.03.2006 19:44

jo jetzt funkts Fettes Grinsen hab mir schon gedacht das es was mit der while schleife zu tun hat ,. traurig

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-139
14.03.2006 19:47

jo jetzt funkts Fettes Grinsen hab mir schon gedacht das es was mit der while schleife zu tun hat ,. traurig
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(""zwinkern;
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';
}

}
?>

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-253
14.03.2006 19:56

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

user-139
14.03.2006 20:05

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

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-253
14.03.2006 20: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-139
14.03.2006 20:37

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

) elseif (

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-253
14.03.2006 20:42

} elseif(Bedingung) {
oder
} else {

user-139
14.03.2006 20: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

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-317
14.03.2006 21:23

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

Fällt dir die Logik auf?

Avatar user-253
14.03.2006 21: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 zwinkern

user-139
15.03.2006 08: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"zwinkern;


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 'zwinkern;
// 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
?>

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-139
16.03.2006 17:45

mhh keiner ne idee?

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-166
16.03.2006 18:35

Original von user-251el
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 zwinkern


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

[ » HesaSys - ein freies, schnelles und flexibles WCMS ]
user-139
16.03.2006 19: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']
)
);

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe