[PHP] Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

Dieses Thema im Forum "Webentwicklung" wurde erstellt von joker.org, 9. November 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 9. November 2010
    Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    Hallo zusammen,

    ich habe eine PHP-Datei, die als Suchmaske dient. Ich habe dort ein Eingabefeld und
    auf dieses Eingabefeld ein Ajax-Script drüber gelegt, damit sofort Vorschläge gemacht werden anhand von einer mySQL-Tabelle.

    Das Script binde ich im Head-Bereich ein und dort gebe ich auch die Quelle der Ajax-Optionen an (mysql-Query und Einstellungen).

    Jetzt möchte ich das noch selber so anpassen, dass vorher noch (vor der Suchmaske) noch die Tabelle ausgewählt werden kann.
    Wie bekomme ich jedoch diese Tabelle (steht momentan in der URL als blub.php?var1=tabelle1) in diese Datei. Ich brauche dort z.Bsp. Select * from $tabelle diese Variable 1.

    Kann man die Variable per include oder ähnlichem einbinden und die Variable übergeben?

    Ich hoffe ihr könnt mir helfen.

    Danke.

    Gruß joker.org
     
  2. 9. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    wie wärs mit $_GET
     
  3. 10. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    Hi,
    ja das funktioniert aber leider nicht, da die Datei ja nur aufgerufen wird, also das Script wird eingebunden da geht wohl nicht $_GET da die Variable in der URL der Hauptseite steht und nicht in der in der auch die sql-query steht.

    Das geht dann ja nicht.

    Gruß joker.org
     
  4. 10. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    wie bindest du die datei denn ein?

    falls "include" -> nimm "file_get_contents" oder "readfile", da kannst du parameter anhängen.
     
  5. 11. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    Hi,
    also das Script selbst binde ich folgendermaßen ein:

    Code:
    <script type="text/javascript" src="jquery-1.2.1.pack.js"></script>
    <script type="text/javascript">
     function lookup(inputString) {
     if(inputString.length == 0) {
     // Hide the suggestion box.
     $('#suggestions').hide();
     } else {
     $.post("rpc.php", {queryString: ""+inputString+""}, function(data){
     if(data.length >0) {
     $('#suggestions').show();
     $('#autoSuggestionsList').html(data);
     }
     });
     }
     } // lookup
     
     function fill(thisValue) {
     $('#inputString').val(thisValue);
     setTimeout("$('#suggestions').hide();", 200);
     }
    </script>
    
    Vielleicht kann ich auch die Datei per include im Head noch einbinden und dann statt rpc.php irgendwie [PHP_self] verwenden, wobei ich dort den Pfad bzw. die Bezeichnung für die Seite selbst nicht weis.

    Und in dieser Datei stehen alle Daten, wie z.Bsp. Query-Anfrage etc...

    Wie kann ich das machen?

    Danke.

    Gruß joker.org
     
  6. 11. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    aha. na dann übergib doch einfach die variable die du brauchst an die datei. wo ist das problem?
    übergib doch gleich den kompletten query-string.

    btw: beim nächsten mal am besten 1-2 minuten zeit nehmen wenn du einen thread erstellst. deine formulierung ist nämlich komplett fürn eimer gewesen. sag doch einfach, dass du parameter der aufgerufenen seite an einen ajax-reqest weitergeben musst...
     
  7. 11. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    Hi,
    ja und wie funktioniert das in meinem Fall?
    Wie kann ich das Script einbinden auf der gleichen Seite?
    Zur Zeit bekomme ich es nur über die externe Datei rpc.php und dort kann ich die Variable nicht übergeben.
    Wenn ich das komplette Script in der selbigen Datei einbinde muss ich ja für rpc.php etwas anderes hinschreiben ich weis jedoch nicht was genau.

    Kannst du mir da helfen?

    Danke.

    Gruß joker.org
     
  8. 11. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    wieso extern? die datei "rpc.php" befindet sich doch auf dem selben server... nutz einfach $_GET

    ich hab ganz ehrlich gesagt langsam keine lust mehr dir zu helfen, weil ich nicht verstehe was du machen willst und wo das problem liegt. vielleicht versteh ich dich falsch. probier doch einfach selber ein wenig rum.

    oben erzählst du was von variablen im script und von scripte einbinden über include, danach doch nix mit einbinden und ajax und dann liegt die datei auf einem externen server (was mit ajax so garnicht möglich ist).

    keine ahnung was du da fabrizierst und irgendwie nachvollziehen kann ichs auch net.
     
  9. 11. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    Dann versuche ich mich auch einmal dadrin das zu verstehen. Ich gehe jetzt mal auf deinen Starpost ein.


    Also du hast dein Formular welches mit Ajax einen Autocompleter bildet. Richtig?

    Und bevor diese Autocompleter an die Arbeit kommt, möchtest du eine z.B. Combobox wo man die Tabelle auswählen kann und wenn man eine Auswahl getroffen hat, dann soll der Completer loslegen und diesen Wert aus der Combobox für die Tabelle an die Suchmaske mit übergeben, damit du das in die SQL Abfrage einbauen kannst?
     
  10. 11. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    Hi,
    also ich versuche es nochmals zu erklären:

    Ich habe eine Datei "auswahl.php" in der eine Dropdown ist mit verschiedenen Tabellen aus mysql.
    Die Abfrage ist show tables ...
    Nach der Auswahl wird die gewünschte Tabelle an die URL mit method="get" angehängt.
    Funktioniert soweit prima.

    In meiner Hauptdatei "blub.php" ist ein Formular mit Straße, Anschrift etc.
    Den Namen möchte ich gerne aus der Datenbank (vorher ausgewählt) autocompleten lassen.
    Mein Problem ist aber, dass die Datei rpc.php nicht weis, welche Tabelle ausgewählt wurde, da dort die Query und die Einstellungen vom Ajax gespeichert sind.

    Dort steht z.Bsp. select * from $tabelle where name like %$name%

    Und jetzt muss ja $tabelle durch die URL angehängte Variable ersetzt werden, damit die Query valide ist.

    Die rpc.php und die blub.php und auswahl.php liegen alle im selber Ordner.

    Wie bekomme ich jetzt die Variable dort rein, da ich ja an rpc.php gar nicht sende.

    Ich hoffe ihr versteht mein Anliegen.
    Sorry für die vielleicht falsche Formulierung zuvor.

    Gruß joker.org
     
  11. 11. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    Ich würde das irgendwie anders angehen.

    Alter Teil.
    Spoiler
    Du nimmst ja für deinen Autocompleter ein Formular denke ich mal?
    Würde das formular dann ähnlich wie das aufbauen:

    HTML:
    <script type="text/javascript">
    function foo(wert){
    $('tablevalue').value=wert.value;
    $('completer').disabled=false;
    }
    
    function acp(ele){
    if(ele.disabled===false){
     //mache weiter mit deinem ajax completer script
     }
    }
    </script>
    
    <select onchange="foo(this.options[this.selectedIndex])">
    <option>tabelle 1</option>
    <option>tabelle 2</option>
    </select>
    <form xyz>
    <input type="text" id="completer" onkeydown="acp(this)" disabled="true" value="Bitte erst Tabelle auswaehlen">
    <input id="tablevalue" type="hidden" name="tabelle" value="0">
    <input type="submit">
    </form>
    
    So jetzt zur Erklärung:
    Du hast erstmal dein Formular mit deinem Inputfeld für deinen Completer das ist von beginn ersteinmal deaktiviert solange bis eine tabelle aus deiner Combobox ausgewält wird, dann wird das ganze wieder aktiviert. Wenn du eine Tabelle in der Combobox auswählst, wird automatisch der value der option in das hidden Feld geschrieben.

    Wenn du jetzt mit deinem Completer Ajax Script das Formular auswertest hast du somit auch per $_POST['tabelle']; deinen Wert den du gerne hättest.


    Also ich hoffe ich hab das jetzt alles richtig verstanden. Das ganze ist ungetestet soll ja nur ein Denkanstoß geben. Ist natürlich auch von der Sicherheit nicht abgesichert. Muss dann per PHP natürlich abgecheckt werden ob das alles seine richtigkeit hat.


    Edit:// Basiert jetzt ein wenig auf dem Prototype Framework. also die $(''). Aber die gibt es ja auch bei Jquery

    Edit2:// Oder aber natürlich einfach wenn man nciht ganz so kompliziert denken würde.

    <input id="tablevalue" type="hidden" name="tabelle" value="<?php echo $_GET['getxy];?>">
    Würde wohl auch funktionieren.


    Edit3:// Damit alle die Helfen wollen auf dem neusten Stand sind, es ging per PN weiter.

    Comobox und Completer sind jeweils eine eigene Seite was auch so bleiben muss.
    Deswegen geht mein Vorhaben so nicht was ich oben gepostet habe. Aber das sollte gehen:

    auswahl.php
    HTML:
    <script type="text/javascript">
    function foo(wert){
    document.getElementById('tablevalue').value=wert.value;
    }
    </script>
    
     
    <form action="blub.php" method="POST">
    <select onchange="foo(this.options[this.selectedIndex])">
    <option value="1">tabelle 1</option>
    <option value="2">tabelle 2</option>
    </select>
    <input type="text" id="tablevalue" name="tabelle">
    <input type="submit">
    </form>
    
    Das ganze könnte man auch ohne das hidden Inputfeld machen und via onsubmit den Option-value an die Url hängen bzw. den action Teil vom Formular bestimmen. Dann müsste mit GET gearbeitet werden. Das war aber jetzt so leichter für mich^^

    blub.php
    HTML:
    <form action="" method="POST">
    <!--dein normaler formularinhalt-->
    <input type="hidden" name="tbvalue" value="<?php if(isset($_POST['tabelle'])) echo $_POST['tabelle'];?>">
    </form>
    
    Später natürlich via PHP absichern:
    intval($_POST['tbvalue]) -> sofern es nur zahlen beinhaltet
    mysql_escape_string($_POST['tbvalue']) ->ansonsten so absichern
     
  12. 21. November 2010
    AW: Ajax-Script Variable aus URL an entfernte (fremde) Datei übergeben

    Hallo zusammen,
    also wir haben das Problem jetzt gelöst.
    Wir haben per $_GET die Variable an die rpc2.php angehängt.

    Danke.

    Gruß joker.org
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.