Ergebnis 1 bis 4 von 4

Thema: mySQL: URL richtig eintragen und auslesen?

  1. #1
    König(in)
    Registriert seit
    20.11.2004
    Ort
    Fehmarn / Ostsee
    Beiträge
    1.079
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard mySQL: URL richtig eintragen und auslesen?

    Moin!
    Wie war das noch mit den Sonderzeichen, verschlüsseln, entschlüsseln usw. beim Übergeben der Formularergebnisse und die korrekte Weiterverarbeitung?
    Zur Erläuterung drei Codeschnipsel.
    Ich habe eine Seite für die Eingabe einer URL
    Code:
    Eingabeformular
    
    <?
    include&#40;"../db.php"&#41;;
    $query = "select * from datenbank";
      $result = mysql_query&#40;$query&#41;;
      if &#40;mysql_num_rows&#40;$result&#41;&#41; &#123;
        while&#40;$row=mysql_fetch_array&#40;$result&#41;&#41; &#123;
              $id = $row&#91;'ID'&#93;;
          $klicks = $row&#91;'klicks'&#93;;
          $bild = $row&#91;'bild'&#93;;
    $views = $row&#91;'views'&#93;;
    $url = $row&#91;'url'&#93;;
    &#125;
    &#125;
    ?>
    
    <form action="add.php" method="get" target="">
    <input type="Text" name="url" value="">
    <input type="Submit" name="" value="Bild eintragen >">
    </form>
    Formularergebnis wird an diese Datei gesendet, die dann so auswertet:
    Code:
    Eingabe in mysql-DB speichern
    
    <?
    include&#40;"../db.php"&#41;;
    if&#40;strlen&#40;$url&#41; < 5 || strlen&#40;$bild&#41; < 5&#41;
    echo"Das Bild wurde erfolgreich hinzugefügt!";
    mysql_query&#40;"INSERT INTO datenbank &#40;url, bild, views, klicks&#41; VALUES &#40;'$url', '$bild', 0, 0&#41;"&#41;;
    &#125;
    ?>
    Anschliessend wird mit einer anderen Datei aus der DB ausgelesen und dargestellt
    Code:
    <?
    include&#40;"db.php"&#41;;
    $result = mysql_query&#40;"select * from datenbank order by rand&#40;".time&#40;&#41;."*".time&#40;&#41;."&#41; limit 1"&#41;;
      if &#40;mysql_num_rows&#40;$result&#41;&#41; &#123;
        while&#40;$row=mysql_fetch_array&#40;$result&#41;&#41; &#123;
              $id = $row&#91;'ID'&#93;;
          $url = $row&#91;'url'&#93;;
    $bild = $row&#91;'bild'&#93;;
    echo"<a href=\"click.php?bild=$id\" target=_new><img src=\"$bild\" border=\"0\"></a>";
    mysql_query&#40;"UPDATE datenbank SET views=views+1 where ID=$id"&#41;;
    &#125;
    &#125;
    ?>
    Nun habe ich den Effekt, dass die Übergabe der URL nicht klappt. aus einem Slash wird %2F usw. Wäre eigentlich nicht schlimm, aber die Überprüfung scheitert, die URL wird nicht zugelassen. Auch die Ausgabe würde nicht funktionieren, weil statt einem Slash ja %2F ausgegeben und zum Browser übertragen wird.

    Da gibt es doch was mit escape und unescape, oder? ...wie war das noch?
    Wär prima, wenn mir da jemand bei der syntaktisch richtigen Einbindung helfen könnte.

    Gruß
    webbie
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Großmeister(in)
    Registriert seit
    03.12.2004
    Ort
    Schweiz
    Beiträge
    514
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hoi =)
    Grundsätzlich würde ich Formularwerte mit $_POST["url"] oder $_GET["url"] auslesen.

    Zur Frage:
    Versuche es einmal mit addslashes($url) beim Eintragen und stripslashes($url) beim Auslesen aus der Datenbank.

    addslashes fügt vor "Sonderzeichen" (nur ein paar bestimmten, z.B. slash, Aprostroph, ...) ein Backslash hinzu, damit das nachfolgende Zeichen auch wirklich als solches Zeichen angesehen wird.
    stripslashes macht das Gegenteil, ist also zum Auslesen.

    Dies wird wirklich, wie du geschrieben hast, "escapen" genannt, man escapet also die Sonderzeichen, die sonst falsch gespeichert werden.

    Am besten:
    http://www.php.net/addslashes
    http://www.php.net/stripslashes

  3. #3
    König(in)
    Themenstarter

    Registriert seit
    20.11.2004
    Ort
    Fehmarn / Ostsee
    Beiträge
    1.079
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hey Baloo,
    ich habe ganz vergessen mich für Deinen Hinweis zu bedanken. Will das eben nachholen, so etwas ist mir wichtig.
    Ich konnte es mangels Zeit noch nicht testen, habe die Sache erstmal auf Eis gelegt, aber ich geh da nochmal bei. Dank Deiner Hinweise werde ich es hinbekommen
    Frohes Fest wünscht Dir
    webbie

  4. #4
    Großmeister(in)
    Registriert seit
    03.12.2004
    Ort
    Schweiz
    Beiträge
    514
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo webbie!
    Ist doch kein Problem. Ist doch gern geschehn
    Aber überprüfe zuerst, ob meine Antwort überhaupt stimmt

    Viel Glück und dir auch ein frohes Fest
    baloo

Ähnliche Themen

  1. Tutorial -> Daten in Datenbank eintragen + Auslesen
    Von sibbiiii im Forum Script-Archiv
    Antworten: 16
    Letzter Beitrag: 25.11.2009, 23:34
  2. [HILFE]formular in mysql eintragen
    Von monstaa im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 15.03.2007, 13:22
  3. IP in MYSQL datenbank eintragen [PHP]
    Von Serkan im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 01.03.2007, 15:59
  4. Radio button richtig auslesen.
    Von Gast im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 28.09.2006, 16:58
  5. in MySQL etwas eintragen
    Von LBW im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 22.05.2006, 09:38

Stichworte

Berechtigungen

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