Anzeige:
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 16 bis 30 von 31

Thema: Linux und PHP ?

  1. #16
    Registrierter Benutzer
    Registriert seit
    28.08.2002
    Beiträge
    496
    zu der ip adresse gebe ich dir mal diesen link vielleicht kannst du es da ja selbst rauslesen warum es so nicht mehr geht.
    http://de3.php.net/manual/de/languag...predefined.php

    kannst du uns die genaue fehlermeldung posten, bei der er rumstpinnt, sonst können wir die nicht helfen.

    greetz

  2. #17
    Registrierter Benutzer
    Registriert seit
    26.06.2006
    Ort
    Hamburch
    Beiträge
    33

    Wink Es geht

    Code:
    if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {
       if ($_SERVER["HTTP_CLIENT_IP"]) {
       $proxy = $_SERVER["HTTP_CLIENT_IP"];
      } else {
       $proxy = $_SERVER["REMOTE_ADDR"];
      }
      $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    } else {
      if ($_SERVER["HTTP_CLIENT_IP"]) {
       $ip = $_SERVER["HTTP_CLIENT_IP"];
      } else {
       $ip = $_SERVER["REMOTE_ADDR"];
      }
    }
    
    echo "Your IP $ip<BR>\n";
    if (isset($proxy)) {
      echo "Your proxy IP is $proxy<BR>\n";
    }
    Ich denke ich werde dann beide IP's Mitloggen. Danke für den Link.
    Das Auslesen und Hinzufügen Funktioniert. Waren Syntexfehler *g*

    Und wie kann ich am unkompliziertesten über eine Weboberfläche mittels Checkbox'en einzelne Zeilen aus der Datei Löschen ?
    echo ("
    1|adresse|name|vorname... = Die daten werden ausgegeben (funktioniert bereits)
    <Submit Button onClick=<?php löschezeile[i](); \> (knopf um die Zeile zu löschen. [i]= array mit der ID Nummer

    naja oder habt ihr ne bessere idee ?
    Hoffe es war verständlich

  3. #18
    Registrierter Benutzer Avatar von hubeR
    Registriert seit
    29.06.2006
    Ort
    Niederglatt
    Beiträge
    5
    Zitat Zitat von agentxi
    <Submit Button onClick=<?php löschezeile[i](); \>
    Das wird in meinen Augen so nicht funktionieren! Oder gibt die funktion "löschezeile()" eine URL aus? Wenn nicht, dann z.B. so
    Code:
      [...]
      if ($_GET["action"] == "delete" && isset($_GET["ID"])) {
        // hier kannst du loeschen ...
      }
      [...]
    
      <input type="button" value="Zeile löschen" onClick="location.href='?action=delete&ID=$deineID'" />
    Oder bin ich grad am thema vorbei? :P
    Geändert von hubeR (30-06-2006 um 14:08 Uhr)

  4. #19
    Registrierter Benutzer
    Registriert seit
    26.06.2006
    Ort
    Hamburch
    Beiträge
    33

    Talking Zeilenweise Einträge löschen über Weboberfläche

    Code:
    if ($_GET["action"] == "delete" && isset($_GET["ID"])) {
        // hier kannst du loeschen ...
      }
      [...]
    
      <input type="button" value="Zeile löschen" onClick="location.href='?action=delete&ID=$deineID'" />
    könntest du das Konkretisieren ?

    Mh also ich bin sehr stark am Grübeln *g* wie ginge es den wenn ich ein externes miniscript schreibe wo die Zeilen gelöscht werden ?
    Oder meinst du eine function die das löscht ? falls ja, wie baue ich das ein ?

    Ich bin halt doch ein noob= eine woche php *lach*

    Wahrscheinlich hab ich an der onClick Methode an JavaScript gedacht. wäre ja zu schön gewesen wenn das in php gingen würde.

    Also so wie du es meinst könnte es gehen. Denke ich mal

  5. #20
    Registrierter Benutzer Avatar von hubeR
    Registriert seit
    29.06.2006
    Ort
    Niederglatt
    Beiträge
    5
    Möchtest du etwas aus einer Datei oder aus ner Tabelle einer Datenbank löschen?

  6. #21
    Registrierter Benutzer
    Registriert seit
    26.06.2006
    Ort
    Hamburch
    Beiträge
    33
    Zitat Zitat von hubeR
    Möchtest du etwas aus einer Datei oder aus ner Tabelle einer Datenbank löschen?
    Aus einer MY_SQL DB

  7. #22
    Registrierter Benutzer
    Registriert seit
    28.08.2002
    Beiträge
    496
    Code:
    delete from TABELLE where id=10;
    das where statement muss umbedingt richtig sein, sonst ist deine ganze tabelle leer...

    greetz

  8. #23
    Registrierter Benutzer
    Registriert seit
    26.06.2006
    Ort
    Hamburch
    Beiträge
    33
    Code:
    if ($_GET["action"] == "delete" && isset($_GET["ID"])) {
       $id = $_GET["id"];
    	 echo $id;
    	 echo $_GET["action"];
    	 $sql_befehl = "DELETE FROM grusbox WHERE id='$id' LIMIT 1";
    	 $result = mysql_db_query("dsradio", $sql_befehl);
    	 echo $result;
    	 $action=0;
    	 
      }
    Er gibt aus das er gelöscht hat (result=1 ?!) aber er hat garnicht

  9. #24
    Registrierter Benutzer
    Registriert seit
    26.06.2006
    Ort
    Hamburch
    Beiträge
    33
    Code:
    if ($_GET["action"] == "delete" && isset($_GET["id"])) {
       $id = $_GET[id];
    	 echo $id;
    	 echo " Wurde gelöscht !<br>";
    	 echo "<br>";
    	 $sql_befehl='DELETE FROM grusbox WHERE id="'.$id.'"';
    	 $result = mysql_db_query("dsradio", $sql_befehl);
    	 $action=0;
    So geht es ;-D
    Mein Problem waren die ' und " in der SQL Zeile. "etwas" kompli *g*

  10. #25
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    hi agentxi,


    sorry, aber ich muss da jetzt auch noch meinen Senf dazu geben

    if ($_GET["action"] == "delete" && isset($_GET["id"])) {
    Du solltest hier noch auf den Inhalt von $_GET["id"] prüfen. Also sowas wie:
    Code:
    is_numeric($_GET["id"]);
    sonst kann man als "ID" nämlich alles reinschicken was man will. Zum Beispiel auch
    sowas:
    Code:
    ?action=delete&id=1 OR id !=1
    Das löscht dann alle Einträge aus deiner Datenbank. Das nennt sich SQL Injection.

    Um das zu verhindern kannst du dein SQL-Befehl so schreiben:
    Code:
    $sql_befehl= "DELETE FROM grusbox WHERE id='".addslashes($id)."'";
    Mehr Infos zu addslashes() gibts hier:
    http://de3.php.net/addslashes

    mysql_db_query() ist veraltet man sollte mysql_select_db() und mysql_query() verwenden, siehe: http://de.php.net/mysql_db_query

    Dann solltest du die Meldung das der Eintrag gelöscht wurde lieber nach dem eigentlichen Löschen ausgeben und wenn etwas schief geht eine entsprechende Meldung ausgeben.
    Code:
    $sql_befehl = "DELETE FROM grusbox WHERE id='".addslashes($id)."'";
    $result     = mysql_query($sql_befehl);
    
    if (is_resource($result) && mysql_affected_rows($result)) {
    	echo "$id Wurde gelöscht !<br><br>";
    } else {
    	echo "Ein Fehler ist aufgetreten.";
    }
    Kann sein das du zuvor noch mysql_select_db() machen musst.

    Sooo das wars auch schon

    Grüße,
    nEox

  11. #26
    Registrierter Benutzer
    Registriert seit
    28.08.2002
    Beiträge
    496
    sql-injection ist mit php relativ schwierig (sofern die php config nicht rumgewurschtelt wurde)
    da werden die "bösen" zeichen escaped

    greetz

  12. #27
    Registrierter Benutzer
    Registriert seit
    26.06.2006
    Ort
    Hamburch
    Beiträge
    33
    Code:
    if ($_GET["action"] == "del" && isset($_GET["id"])) {
    	 &id = $_GET[id];
    	 echo &id;
    	 $del = "UPDATE `grusbox` SET `visible` = '1' WHERE `id` = '($id)'";
    	 $result = mysql_db_query("grusbox", $del);
    	 if ($result == 1)
    	 {
    	 echo ("Eintrag gelöscht");
    	 }
    	 else
    	 {
    	 echo ("Fehler beim löschen"); 
    	 }
    }
    Fehler in der Mysql Zeile (mal wieder)
    ich möchte das er die id die übergeben wird ausblendet. dafür wird der wert von visble auf 0 gesetzt.

    Also nach meinem Syntax müßte es stimmen

    @nEox

    Ich kann deine Sicherheitsbedenken verstehen - werde sie aber erst einbauen wenn der Kram funktioniert.

    Also ich entwickelt immer so:

    Funktioniert?
    ->Sicherheit ?
    -> Layout

    Aber wie gesagt werde es aufnehmen. vlt stelle ich hier einen Link rein und dann könnt ihr euch beim Test austoben...

    @quinte17
    Naja auch wenn es schwierig ist, denke ich Absichern schadet nicht.
    Ich hab auch für die User die Was reinschreiben sollen in diese Grußboß Nur INSERT Rechte vergeben. Ich denke das ist schon ein guter Grundschutz.
    Also wenn jemand hackt, dann einer der Admins *g*

    Edit:
    Mit ["id"]; hab ich es auch schon versucht -.-

    Hochachtungsvoll, Tuxi
    Geändert von agentxi (02-07-2006 um 15:21 Uhr)

  13. #28
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hallo agentxi,

    &id = $_GET[id];
    echo &id;
    Das sollte wohl $ heissen ;P

    Auf mehrdimensionale Arrays mit einem String als Key solltest du immer mit einfachen oder doppelten Anführungszeichen zugreifen. Zum Beispeil:
    Code:
    $_GET["id"]
    "id" könnte ja auch eine Konstante sein.

    Ich versuch das immer gleich sicher zu machen, wenn alles funktioniert bin ich zu faul da nochmal ran zu gehn

    Grüße,
    nEox

  14. #29
    Registrierter Benutzer
    Registriert seit
    26.06.2006
    Ort
    Hamburch
    Beiträge
    33
    Zitat Zitat von nEox
    Hallo agentxi,
    Das sollte wohl $ heissen ;P
    Hallo nEox
    ja, heißt es ja auch *fg*

    ID= Nummerisch. Also kein String *g*
    Und bei der Ausgabe Zeigt er mir auch die Richtige ID an. Aber löschen will der *pip* micht. Ich verzweifel gleich

    Also hier nochmal der Code (den ich langsam net mehr sehen kann -.-)

    Code:
    if ($_GET["action"] == "del" && isset($_GET["delid"]))
    {
    	 $delid=($_GET[delid]);
    	 
    	 echo $delid;
             $del='UPDATE grusbox 'visible'=0 WHERE id="'.$delid.'"';
    	 $result = mysql_db_query("grusbox", $del);
    	 echo $result;
    	 if ($result == 1)
    	 {
    	 echo ("<br>Eintrag gelöscht");
    	 }
    	 else
    	 {
    	 echo ("<br>Fehler beim löschen"); 
    	 }
    }
    Ich möchte das er in der Zeile mit der id $id den Wert von visible auf 0 setzt, mehr nicht.

    Naja und hier
    Code:
    <td><input type=\"button\" value=\"Löschen\" onClick=\"location.href='?action=del&delid=$id'\" /></td></tr>
    Der Button dazu

    ...naja er gibt immer "Fehler beim löschen" aus. Ist wohl wieder diese blöde mysql Zeile.

    Und falls es wen wunder das da löschen steht: Die die es benutzen sollen denken das die Einträge gelöscht werden *g*
    Es ist aber die UPDATE Funktion gemeint.
    Geändert von agentxi (02-07-2006 um 17:06 Uhr)

  15. #30
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo,

    Zitat Zitat von agentxi
    ...naja er gibt immer "Fehler beim löschen" aus. Ist wohl wieder diese blöde mysql Zeile.
    Wie wäre es wenn du mal "echo mysql_error();" nach dem query reinschreibst, damit du mal eine vernüftige Fehlermeldung bekommst. http://de.php.net/mysql_error

    Abgesehen davon:
    PHP-Code:
    $del='UPDATE grusbox 'visible'=0 WHERE id="'.$delid.'"'
    muss
    PHP-Code:
    $del="UPDATE grusbox SET visible=0 WHERE id='$delid'"
    heißen...

    Und verwende bitte mal die php tags, statt die code tags - durch das Syntaxhighlighting fallen solche Fehler vielleicht früher auf.

    Gruß,

    Gaert
    Geändert von Gaert (02-07-2006 um 17:27 Uhr)


Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •