Automatisch URLs erstellen z.B. Keywords etc.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Automatisch URLs erstellen z.B. Keywords etc.

    Hallo,

    die Lösung ist sicherlich komplett einfach aber ich hänge schon Tage bis Wochen dran so das ich immer erstmal andere Sachen programmiert habe, aber jetzt gibts nix anderes mehr zu machen ^^.
    Ich brauch einen Ansatz wie man eigentlich automatisch eine Unterseite bzw. URL erstellt.
    Ich drück es mal in einem Beispiel ist. User gibt im Formular ein Keyword an z.B. Programmieren, nun soll automatisch eine Unterseite erstellt werden die lautet test.de/keyword_programmieren.html.

    Der Ansatz ist soweit klar. Keyword wird in MYSQL gespeichert und soll dann als Variabel ausgegeben werden.

    Ich habe schon gegoogelt etc. und am Anfang wird eine Seite meistens so aussehen test.de/?p=123 das kann ich dann in .htaccess so ändern das es dann heißt test.de/keyword_programmieren.html, das ist soweit klar. Aber wie bekomme ich es hin, das überhaupt eine Unterseite test.de/?p=123 erstellt wird?

    Ich hab jetzt auch noch keinen Code für euch, da mir sowieso der Ansatz komplett fehlt. Kann mir jemand bitte mal helfen, bzw. verraten wonach ich direkt suchen kann. Denn so richtig schlau bin ich noch nicht geworden.

    Ich bedanke mich schon einmal in voraus.

    Viele Grüße

    Thomas

  • #2
    Hallo,

    die URL http://example.com/?p=123 (bitte immer diese Domain für Beispiele verwenden) wird vom Server so geroutet, dass sie bei der http://example.com/index.php rauskommt und an dieses Script den Parameter p=123 per GET übergibt. Alles was du tun musst, ist, in diesem Script den Parameter auszuwerten. Also brauchst du keine Unterseiten erstellen, sondern lediglich ein Script (sofern noch nicht vorhanden) welches die gegebenen Parameter verarbeitet.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Danke für die schnelle Antwort, ok werde ab sofort immer example.com als Beispiel nutzen :-)

      Also ich habs jetzt schon einmal so hinbekommen das die URL ausgegeben wird wie ich das möchte, logisch mit Variablen, aber mir fehlt gerade das Verständnis wie ich die Seiten mit Inhalt versorge.

      Wie schaffe ich es das z.B. 100 SQL Einträge eine Unterseite erhalten. Derzeit habe ich das Beispiel. Ich hab jetzt mal erstmal bewusst keine Datenbankabfrage gemacht...

      PHP-Code:
      <?php

      $stadt 
      $_POST['stadt'];


      echo 
      "<a href=\"?seite=$stadt\">$stadt</a> ";

      ?>
      Wie sorge ich jetzt bei dem simplen Beispiel dafür, das auch der Inhalt von $stadt in der dementsprechenden Seite zu finden ist?
      Derzeit heißt ja nur die url z.B. example.com/index.php?seite=Dresden aber es ist ja kein Inhalt zu finden.
      Bestenfalls nehmen wir mal an das Datenbankabfrage schon stattgefunden hat und $stadt das Ergebnis davon ist.

      Kommentar


      • #4
        Zitat von ProCoder2025 Beitrag anzeigen
        Wie schaffe ich es das z.B. 100 SQL Einträge eine Unterseite erhalten.
        Stichworte: Blätterfunktion, Pagination.
        Dazu findest du sicherlich genügend Tutorials, das müssen wir hier jetzt nicht im Detail erneut durchkauen.

        Wie sorge ich jetzt bei dem simplen Beispiel dafür, das auch der Inhalt von $stadt in der dementsprechenden Seite zu finden ist?
        In dem du die entsprechenden Inhalte/Daten anhand des übergebenen Parameters lädst/aus der Datenbank heraussuchen lässt ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Stichworte: Blätterfunktion, Pagination.
          Dazu findest du sicherlich genügend Tutorials, das müssen wir hier jetzt nicht im Detail erneut durchkauen.
          Mit Blätterfunktion habe ich mich schon beschäftigt, das meine ich aber nicht. Habe mich vllt. etwas falsch ausgedrückt. Meine jede Seite soll seine eigene URL haben, ohne Blätterfunktion z.B. wie Profile von Usernamen, Artikelseiten bei Shops etc.

          In dem du die entsprechenden Inhalte/Daten anhand des übergebenen Parameters lädst/aus der Datenbank heraussuchen lässt ...?
          Das mit der Datenbankabfrage ist mir klar, aber ich such genau die entscheidene Funktion mit der ich die Daten nach der Datenbankabfrage auch an die bestimmte Seite weitergebe. Gibt mir mal bitte einen kleinen Code-Beispiel oder eine Funktion nach der ich dann googlen kann, aber derzeit weiß ich ja nicht einmal nach was ich googlen soll, finde nur andere Sachen aber nicht das was ich suche.

          Wie gesagt mit einer normalen unterseite.php ist mir das klar wie ich das mache, aber nicht mit einer Seite die eigentlich keine Datei ist, da ich dort ja nicht direkt reinschreibe. Das ist mir noch etwas zu unverständlich.

          Vielen dank für eure bisherige Hilfe

          Kommentar


          • #6
            Zitat von ProCoder2025 Beitrag anzeigen
            Das mit der Datenbankabfrage ist mir klar, aber ich such genau die entscheidene Funktion mit der ich die Daten nach der Datenbankabfrage auch an die bestimmte Seite weitergebe.
            Genau andersherum - das Script holt sich die Daten, und gibt sie dann aus.
            Halt so, wie gerade schon beschrieben.

            Wenn du dir nicht vorstellen kannst, wie das geht - dann arbeite bitte erst mal ein paar Grundlagen-Tutorials durch.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Füttere Google mit php, routing, clean urls.

              Kommentar


              • #8
                Hey danke für deine Antwort, habe jedoch gerade vor ca. 10 Minuten die Lösung gefunden.

                Mir hat nur der Ansatz gefehlt, dass wenn ich z.B. die Variable $id in eine url packe, wie ich diese dann wieder auf die gewünschte Seite ausgebe.

                Ich wusste nicht, bzw. bin nicht auf die idee gekommen eine neue php Datei anzulegen z.B. stadt. php wo dann dort die GET Abfrage abgerufen wird.

                Für alle die es auch benötigen, hier die Lösung:

                Datei wo Datenbankabfrage gemacht wird muss die gewünschte Variable z.B. $id in Link gepackt werden, dieser kann dann auf der Ausgabeseite angeklickt werden.
                PHP-Code:
                 echo "<a href=http://example.com/stadt.php?site=".$id.">";
                        echo 
                "<i>$stadt</i>";
                        echo 
                "</a> <br />"
                Wichtig ist site= zu beachten das in dem Fall der GET Name der nach stadt.php geschickt wird, außerdem muss halt auch eine neue php Datei angelegt werden, in dem Fall ist es stadt.php, damit von dort aus dann die gewünschte Variable ausgegeben wird.
                Das läuft wie folgt:

                PHP-Code:
                <?php
                $id
                $_GET['site'];

                //Datenbank in config.php
                include ('config.php');

                $abfrage_nachricht "SELECT *
                                    FROM
                                    nachricht
                                    WHERE id = '
                $id'
                                    "
                ;

                $ergebnis_nachricht mysql_query $abfrage_nachricht );



                               if ( !
                $ergebnis_nachricht )
                            {
                                die (
                'Ungültige Abfrage: ' mysql_error());

                            }

                       

                           while (
                $inhalt mysql_fetch_array($ergebnis_nachrichtMYSQL_ASSOC ))
                             {
                            

                            echo 
                $inhalt['stadt'];
                            echo 
                "<br />";
                            echo 
                $inhalt['text'];
                            
                // Hier ist Ausgabe von Inhalt der gewünschten id z.B. Stadtname

                           
                }

                ?>
                Zuletzt geändert von ProCoder2025; 08.06.2011, 11:25.

                Kommentar


                • #9
                  Vorsicht vor SQL-Injections! Wenn man die URL manipuliert, kann man deine Datenbank beliebig auslesen. Benutze prepared Statements oder – wenn du bei mysql-Funktionen bleiben willst – mysql_real_escape_string().
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Achja, stimmt das habe ich vergessen zu sagen, das wollte ich noch regeln, denn bei mir kam immer eine Fehlermeldung als ich das wie folgt angegeben habe
                    PHP-Code:
                    WHERE
                            id 
                    "'.mysql_real_escape_string('$id').'" 
                    Hab die Variable auch auch schon mit $_GET['site'] ersetzt und andere Sachen ausprobiert aber funkt nicht.

                    Hab da bestimmt ein Schreibfehler drin, bin da aber noch am herausfinden, falls du einen groben Fehler findest, kannst du mir den gerne auch gleich verraten.

                    Kann gerade nicht die Fehlermeldung ansagen, da ich gerade rumbastel und alles auf Server lade und mysql_real_escape_string erstmal draussen habe.

                    Kommentar


                    • #11
                      Die Anführungszeichen sind falsch herum und um Variablen gehören gar keine (damit meine ich '$id'). Wenn du dir deine Abfrage erstmal ansehen würdest (mit echo), könntest du den Fehler selbst erkennen. Vorher kommt aber vermutlich ein PHP-Fehler wegen der ungültigen Syntax. Diese Fehler wiederum lassen sich durch Verwendung eines Syntax-Highlighting-fähigen Editors vermeiden.
                      Zuletzt geändert von AmicaNoctis; 08.06.2011, 12:03.
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        achja...Alles klar, ich probiers dann gleich mal aus, ich dank dir vielmals...

                        Kommentar


                        • #13
                          Ich dank dir, es klappt mir real_escape , hätte ich glaube so schnell nicht heraus bekommen, immer diese Schnelligkeitsfehler :-)

                          Kommentar

                          Lädt...
                          X