-1

<?php ?>「Uncaught SyntaxError: Unexpected token ILLEGAL」という構文エラーがあり、JavaScript コードのコードにあると思いますが、理由がわかりません...<?php ?>タグのコードを削除すると、エラーは発生しません. 以前にエラーを削除しましたが、突然エラーが再び「発生」しました。

これが JavaScript 関数です。何かが正しくない場合にエラーを表示する必要があり、その JavaScript 関数が PHP ファイルから呼び出されているため、PHP コードを呼び出しています。この PHP ファイル内の PHP ファイルを要求しています。

function visErrorFraaLastOppSjekk() {
    document.getElementById("errorLastOpp").innerHTML = "Filnamnet " + "<strong>" + "<?php echo substr($_FILES['file']['name'],0,50) ?>" + "</strong>" + "eksisterer allereide.<br>" + "Gje bilete eit anna namn, eller<br>" + "velg eit anna bilete og prøv igjen.";
}

  // Denne funksjonen er for last_opp_sjekk.php som tar med denne sida, index_geolocation, og setter inn tekst i error boks for last opp vindauget
function visErrorFraaLastOppOK() {
    document.getElementById("errorLastOpp").innerHTML = "Bilete er blitt opplasta.";
    document.getElementById("filNamnTabellR").value = "Opplasta_bilete/" + "<?php echo $_FILES['file']['name'] ?>"; // EDIT: FIXED
    document.getElementById("namnLastOpp").value = "<?php echo $_FILES['file']['name'] ?>";
    document.getElementById("storrelse_kb").value = "<?php echo round($_FILES['file']['size']/1024000, 3) ?>" + " megabyte " + "(<?php echo round($_FILES['file']['size']/1024, 3) ?>" + " kilobyte)";
}

エラーコードの写真は次のとおりです。 ここに画像の説明を入力

ここに画像の説明を入力

アップデート:

Google Developer Tools のコードの一部を次に示します。

<script>
    // Denne funksjonen er for last_opp_sjekk.php som tar med denne sida, index_geolocation, og setter inn tekst i error boks for last opp vindauget
function visErrorFraaLastOppSjekk() {
    document.getElementById("errorLastOpp").innerHTML = "Filnamnet " + "<strong>" + "<br />

// エラー コードは上の行にあります Uncaught SyntaxError: Unexpected token ILLEGAL

( ! ) 注意: 未定義のインデックス: 103 行目の C:\wamp\www\geolocation_for_voss_gymnas\index_geolocation_admin.php のファイル コール スタック #TimeMemoryFunctionLocation 10.0029204912{main}( ..\index_geolocation_admin.php : 0 " + "
" + "eksisterer allereide." + "Gje bilete eit anna namn, eller
" + "velg eit anna bilete og prøv igjen."; }

  // Denne funksjonen er for last_opp_sjekk.php som tar med denne sida, index_geolocation, og setter inn tekst i error boks for last opp vindauget
function visErrorFraaLastOppOK() {
    document.getElementById("errorLastOpp").innerHTML = "Bilete er blitt opplasta.";
    document.getElementById("filNamnTabellR").value = "Opplasta_bilete/" + "<br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: file in C:\wamp\www\geolocation_for_voss_gymnas\index_geolocation_admin.php on line <i>109</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0029</td><td bgcolor='#eeeeec' align='right'>204912</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\geolocation_for_voss_gymnas\index_geolocation_admin.php' bgcolor='#eeeeec'>..\index_geolocation_admin.php<b>:</b>0</td></tr>
</table></font>
";
    document.getElementById("namnLastOpp").value = "<br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: file in C:\wamp\www\geolocation_for_voss_gymnas\index_geolocation_admin.php on line <i>110</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0029</td><td bgcolor='#eeeeec' align='right'>204912</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\geolocation_for_voss_gymnas\index_geolocation_admin.php' bgcolor='#eeeeec'>..\index_geolocation_admin.php<b>:</b>0</td></tr>
</table></font>
";
    document.getElementById("storrelse_kb").value = "<br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: file in C:\wamp\www\geolocation_for_voss_gymnas\index_geolocation_admin.php on line <i>111</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0029</td><td bgcolor='#eeeeec' align='right'>204912</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\geolocation_for_voss_gymnas\index_geolocation_admin.php' bgcolor='#eeeeec'>..\index_geolocation_admin.php<b>:</b>0</td></tr>
</table></font>
0" + " megabyte " + "(<br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: file in C:\wamp\www\geolocation_for_voss_gymnas\index_geolocation_admin.php on line <i>111</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0029</td><td bgcolor='#eeeeec' align='right'>204912</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\geolocation_for_voss_gymnas\index_geolocation_admin.php' bgcolor='#eeeeec'>..\index_geolocation_admin.php<b>:</b>0</td></tr>
</table></font>
0" + " kilobyte)";
}

  // Denne funksjonen er for last_opp_sjekk.php som tar med denne sida, index_geolocation, og setter inn tekst i error boks for last opp vindauget
function visErrorLastOppSjekkIV() {
    document.getElementById("errorLastOpp").innerHTML = "Fila er ikkje valid. Prøv igjen;<br>" + "sjekk filtypa og filstørrelsen.";
}
</script>
4

4 に答える 4

1

次の行に問題があります。

document.getElementById("filNamnTabellR").value = "Opplasta_bilete/" + <?php echo $_FILES['file']['name'] ?>;

前後に引用符がない<?php echo $_FILES['file']['name'] ?>か、次のようにする必要があります。

document.getElementById("filNamnTabellR").value = "Opplasta_bilete/<?php echo $_FILES['file']['name'] ?>";

サーバー側からデータを印刷するには、json_encode()function を使用することが望ましいことに注意してください。


更新:$_FILES['file']['name']は PHP で定義されていないため、まだ問題があります。JavaScript はこのタイプの複数行文字列リテラルをサポートしていませんが、サーバー側では警告が生成され、複数行で出力されます。$_FILES印刷する前に、配列要素の存在を確認する必要があります。

于 2013-04-03T10:02:49.173 に答える
1

それはすべてそれらの改行です。最初にサニタイズせずに大量のテキストを JavaScript 文字列に詰め込もうとしています。

于 2013-04-03T10:12:22.513 に答える