2016-07-14 14 views
0

was ich versuche ist, den Wert des ausgewählten Begriff aus dem Autocomplete-Menü (ui.item.label) zu bekommen, speichern Sie es in einer Variablen und Sende diesen Wert an meine Datenbank. Dafür habe ich eine andere PHP-Datei namens "proceed.php", die uns mit der Datenbank verbindet und die Daten in die Tabelle einfügt.

Aber ich scheine bei Bestehen der Variable „ausgewählt $“ geklebt werden von Blick-gehen als egal, was ich tue, zeigt der Browser $ vari, das heißt, die Variable hier vergangen - proceed1.php?var=$vari

Hintergrundgeschichte - Sie können feststellen, dass ich die Variable Variable als Apple zugewiesen habe. Aber ich sehe nur $ vari als die Ausgabe im Browser und nicht Apple.

Jede Hilfe wird sehr geschätzt.

Vielen Dank.

look.php

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
    <script src="//code.jquery.com/jquery-1.10.2.js"></script> 
    <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
    <script> 
    $(function() { 
    $("#route").autocomplete({ 
     source: 'search.php', 
     select: function(event , ui) { 
     $selected=ui.item.label;} 
    }); 
    }); 
    $vari="apple"; 
    </script> 

</head> 
<link rel="stylesheet" type="text/css" href="look.css" media="screen" /> 
<body> 
<div class="ui-widget"> 
    <label for="route">Router Name: </label> 
    <input id="route"> 
    <br><br><br> 
    <a href='proceed1.php?var=$vari' id=btn2 class="btn">Proceed</a> 
</div> 
</body> 
</html> 

proceed.php

<?php 
$dbHost = 'localhost'; 
$dbUsername = 'root'; 
$dbPassword = ''; 
$dbName = 'searchrouters'; 
//connect with the database 
$db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName); 
//get search term 
$vari = $_GET['var']; 
echo $vari; 
?> 

UPDATE:

Danke, arbeitete die Lösung in den Kommentaren versehen. Aber jetzt, wenn ich versuche, die Variable ‚s-Wert als ausgewählt zu erhalten:

<?php 
    $vari=$_GET['selected']; 
?> 

und gibt es dann in der nächsten Seite als:

<a href='proceed1.php?var=<?php echo $vari;?>' id=btn2 class="btn">Proceed</a> 

ich die folgende Fehlermeldung auf der Browser:

Undefinierte Index: in C ausgewählt: \ wamp \ www \ look.php auf Leitung 19

+1

Was ist 'Begriff' hier? Ersetzen Sie "term" durch "var", es kann geholfen werden. –

+0

Sie deklariert PHP-Variable in jquery –

+0

Sorry über 'Term'. Es sollte var selbst sein – hgnisitida

Antwort

0

Sie müssen Sie Code an zwei Stellen

<script> 
    $(function() { 
    $("#route").autocomplete({ 
     source: 'search.php', 
     select: function(event , ui) { 
     $selected=ui.item.label; 
     $('#btn2').attr({'href':'proceed1.php?var='+$selected}); 
     } 
    }); 
    }); 
    </script> 
<?php 
    $vari="apple"; 
?> 

und <a href="proceed1.php?term=<?php echo $vari;?>" id=btn2 class="btn">Proceed</a>

und wenn Sie die Variable nur $_GET['var'] verwenden zugreifen müssen ändern Wo immer Sie mit HTML-Benutzer php möchten Sie Benutzer müssen die <?php php code here ?>

hier ist ein demo

+0

Hey, würde es dir etwas ausmachen, das aktualisierte Problem zu sehen? Danke – hgnisitida

+0

Sie müssen das '$ selected' in $ _GET ['selected'] benutzen? –

+0

Ich habe das zuerst gemacht. Aber der Fehler bleibt bestehen: Undefined index: $ selected – hgnisitida

0

Sie können die PHP-Variable nicht in jquery deklarieren.

versuchen diese

<script> 
    $(function() { 
    $("#route").autocomplete({ 
     source: 'search.php', 
     select: function(event , ui) { 
     $selected=ui.item.label;} 
    }); 
    }); 
    </script> 
<?php 
    $vari="apple"; 
?> 

und

<a href="proceed1.php?term=<?php echo $vari;?>" id=btn2 class="btn">Proceed</a> 
0

Sie sollten hier entfernen $vari="apple"; von script Tag ändern und verwenden es in php tag

<?php $vari="apple"; ?> 

und variable $vari wie diese

erhalten
<a href="proceed1.php?term=<?php echo $vari;?>" id=btn2 class="btn">Proceed</a>