von Can |
Genau so was hab ich gesucht...
Also: Nur ausführen wenn is_numeric($ID) true ergibt, sonst Fehler ausgeben. |
von c3o |
Einfacher so: http://php.net/is_numeric |
von Can |
Letzten Beitrag lass ich Michael mal als Demonstration *g*
--
Mit regulären Ausdrücken (http://www.php.net/manual/de/ref.pcre.php) |
von Can |
Mit regulären Ausdrücken (<!-- BBCode u1 Start --><A HREF="http://www.php.net/manual/de/ref.pcre.php" TARGET="_blank">Ahttp://www.php.net/manual/de/ref.pcre.php</A><!-- BBCode u1 End -->)
|
von fred |
thx aber wie mache ich das?
Kannste mirs genauer sagen?
---
frederic |
von Can |
Und um eine Sicherheitslücke zu schließen...
$bla = mysql_query("SELECT hits,url FROM linkliste WHERE ID=$ID");
...darfst du nicht einfach den String $ID einbinden, sondern musst erst überprüfen, ob dies eine gültige Zahl ist.
Can
|
von fred |
danke Can für die Hilfe, geht jetzt!
---
frederic |
von Can |
header ("Location:$hitman[$url]");
Jetzt daraus noch
header ("Location:$hitman[url]"); |
von fred |
Okay...
1:
2:
3:
4:
5:
6:
7:
8:
9:
10: | <?
include("config_dsds.php");
mysql_select_db("dsds");
$bla = mysql_query("SELECT hits,url FROM linkliste WHERE ID=$ID");
$hitman = mysql_fetch_array($bla);
$hitman2 = $hitman[hits]+1;
mysql_query("UPDATE `linkliste` SET hits="$hitman2" WHERE ID="$ID"");
header ("Location:$hitman[$url]");
?> |
Er zählt jetzt, jetzt muss nur noch die URL gehn!
---
frederic |
von Can |
mysql_select_db("dsds", $link);
Mach daraus
mysql_select_db("dsds"); |
von fred |
Hier:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10: | <?
include("config_dsds.php");
mysql_select_db("dsds", $link);
$bla = mysql_query("SELECT hits,url FROM linkliste WHERE ID=$ID");
$hitman = mysql_fetch_array($bla);
$hitman2 = $hitman[hits]+1;
mysql_query("UPDATE `linkliste` SET hits="$hitman2" WHERE ID="$ID"");
header ("Location:$hitman[$url]");
?> |
geht aber net...... nüzt irgendwie leider nix...l
---
frederic |
von Can |
$bla = mysql_query("SELECT hits,url FROM linkliste WHERE ID=$ID");
mysql_select_db("dsds", $link);
Vertausch mal die beiden Zeilen. |
von fred |
config_dsds.php
---
frederic |
von Can |
Wo tust du zur Datenbank eigentlich connecten? |
von fred |
Neuer Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10: | <?
include("config_dsds.php");
$bla = mysql_query("SELECT hits,url FROM linkliste WHERE ID=$ID");
mysql_select_db("dsds", $link);
$hitman = mysql_fetch_array($bla);
$hitman2 = $hitman[hits]+1;
mysql_query("UPDATE `linkliste` SET hits="$hitman2" WHERE ID="$ID"");
header ("Location:$hitman[$url]");
?> |
Geht aber immer noch nicht...
_________________
Besuchen: http://www.frederic-schneider.de
|
von Can |
Ach so - ja klar, was soll hinter dem Namen "link" sonst stecken.
1:
2:
3:
4: |
mysql_select_db("dsds", $link);
mysql_query($bla, $link);
|
Wieso tust du das doppelt ausführen? |
von fred |
$link ist die Datenbankverbindung!
---
frederic |
von Can |
*seufz*
1:
2:
3:
4: |
mysql_select_db("dsds", $link);
$bla = mysql_query("SELECT hits,url FROM linkliste WHERE ID=$ID");
|
Muss so heißen, erst muss eine Datenbank ausgewählt sein.
mysql_query($bla, $link);
Das muss weg!
Und noch manch andres...
Was ist eigentlich $link?
Can |
von fred |
HI!
Hier ein PHP-Skript:
<?
include("config_dsds.php");
$bla = mysql_query("SELECT hits,url FROM linkliste WHERE ID=$ID");
mysql_select_db("dsds", $link);
mysql_query($bla, $link);
$hitman = mysql_fetch_array($bla);
$hitman = $hitman[hits]+1;
mysql_query("UPDATE `linkliste` SET hits="$hitman2" WHERE ID="$ID"");
mysql_select_db("dsds", $link);
mysql_query($bla, $link);
header ("Location:$hitman[$url]");
?>
Eigentlich soll das Skript im Feld "hits" der Datenbank "linkliste" in der jeweiligen Spalte die Zahl jeweils um eins erhöt werden?
Wie muss da der Typ der Spalte "hits" sein damit es geht?
Außerdem soll das Skript auf die jeweilige URL leiten die in der Datenbank bei der jeweiligen Spalte steht, geht aber auch nicht.
In der config_dsds.php steht nur die Verbindungsdaten der MySQL-Datenbank.
---
frederic |