2017-01-30 3 views
0

Ich habe eine einfache Form und PHP-Skript, die eine Variable aus dem HTML-Formular Textfeld gelesen werden sollte und wenn der Benutzer auf submit eine einfache Nachricht wird angezeigt wird mit dem Hinweis: "Sie suchen nach Songs von artist_name 'aber wenn ich versuche, bekomme ich entweder eine leere Seite oder eine Nachricht sagen undefined. aber wenn ich nur die PHP-Variable echo, zeigt es den Wert korrekt an.php alert nicht definiert oder nicht angezeigt

ich versucht habe gerade

alert($artist_name) and alert('$artist_name') 

zu verwenden, aber ich bekomme Uncaught Reference: $ ARTIST_NAME ist nicht definiert. Oder die Warnung zeigt '$ artist_name' anstelle des Wertes an?

jedoch so etwas wie

<?php echo $_GET["artist"]; ?> 

erfolgreich den Text bekommen ???

und das funktioniert auch ok.

elseif ($artist_name =="foo") { ?> 
    <script language="javascript" type="text/javascript"> 
     alert("you enetered foo"); 
     window.location = 'index.html'; 
    </script> 
<?php 
} 

so ist es immer die Variablen in Ordnung, aber ich scheine einfach nicht in meiner Warnmeldung enthalten, die das gesamte Ziel dieses Codes ist, Bitte kann mir jemand zeigen, was ich falsch mache. Danke vielmals.

meinen Code unten:

die html

<form id="form1" action="searchresults.php" method="GET"> 
    <div id="artform"> 
     <fieldset> 
      <legend> Search for music </legend> 
      <p> <label> Artist (*): </label> <input type="text" name="artist" id="artist" placeholder="enter an artists" class="add1"></p> 
     </fieldset>        
     <input type="submit" class="button1"> 
     <input type="reset" class="button2"> 
    </div> 
</form> 

die php

<?php 
$artist_name = $_GET['artist']; 

if (empty($artist_name)) { ?> 
    <script language="javascript" type="text/javascript"> 
     alert('Field blank !, please try again.'); 
     window.location = 'index.html'; 
    </script> 
<?php 
} 
else { ?> 
    <script language="javascript" type="text/javascript"> 
     alert('You are searching for songs by' $artist_name); // the issue is here 
     window.location = 'index.html'; 
    </script> 
<?php 
} 
?> 
+1

'alert ('Sie suchen nach Songs von ');' – 1252748

Antwort

2

Sie haben vergessen $ ARTIST_NAME mit PHP Start- und End-Tag zu umschließen.

alert('You are searching for songs by' $artist_name); // the issue is here 

Sollte waren:

alert('You are searching for songs by <?php echo $artist_name; ?>'); // the issue is here 
+1

Ende Zitat ist an der falschen Stelle – 1252748

+0

Sie haben recht, danke @ 1252748 – KEK

+1

Wichtig zu beachten, dass das Problem ist, grundsätzlich, dass er den Wert dieser Variablen im Gegensatz zum Drucken des Variablennamens wiedergeben muss. Die PHP-Tags ohne die Echo-Anweisung würden nicht das gewünschte Ergebnis liefern. Edwin, um den "interpretierten"/tatsächlichen Wert einer Variablen zu drucken, müssen Sie 1) den Code in PHP-Tags als @KEK notieren und 2) "echo"/den Wert drucken –

0

danke ich habe es funktioniert, Kek versuchte ich Ihre Methode, aber ich habe einen Fehler abgefangene Syntaxerror: fehlt) nach Argumentliste, aber 125.248 Kommentar funktionierte perfekt Ich musste die Tags für die Arbeit einfügen. Vielen Dank für Ihre Zeit.

Verwandte Themen