AJAX - Rückgabewert Problem

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

  • AJAX - Rückgabewert Problem

    Hi,
    ich komm mal gleich zur Sache. Ich hab ein Formular zum Dateiuploaden und will vor dem Post abfragen ob die Datei schon in der Datenbank ist. Nur das Problem ist er Postet immer egal ob die Datei vorhanden ist oder nicht.

    Hier das Formular + JS:
    PHP-Code:
    echo'
    <script type="text/javascript" languag="javascript">
    function createXMLHttpRequest() {
        var ua;
        if(window.XMLHttpRequest) {
            try {
              ua = new XMLHttpRequest();
            } catch(e) {
              ua = false;
            }
        } else if(window.ActiveXObject) {
            try {
              ua = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
              ua = false;
            }
        }
      return ua;
    }
    var Req1 = createXMLHttpRequest();
    function checkfile (par) {
            var check = par;
            if(check == "start")
            {
                var file = document.getElementById("file").value;
                alert(file);
                Req1.open("POST", "check.php");
                Req1.onreadystatechange = handlecheck;
                Req1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded", true);
                Req1.send("file="+file);
            }
            else
            {
                if(check == "true")
                {
                    alert("Datei mit diesem Dateinamen existiert bereits");
                    return false;
                }
                else
                {
                    alert("test");
                    return true;
                }
            }
        }
     function handlecheck() {    
        if (Req1.readyState == 4)
        {    
            var check = Req1.responseText;
            checkfile(check);
        }    
    }
    </script>
    <h1>Bild - Upload</h1>
    <form enctype="multipart/form-data" action="?page=ul" method="post" name="Upload" 
    onsubmit="return checkfile(\'start\');">
        <table>
            <tr>
                <td><input name="file" type="file" id="file" size="40"></td>
            </tr>
            <tr>
                <td><input type="text" name="i_titel" /></td>
            </tr>
            <tr>
                <td><textarea name="i_bes"></textarea></td>
            </tr>
            <tr>
                <td><input type="text" name="i_pos" size="20" /></td>
            </tr>
            <tr>
                <td></td>
            </tr>
            <tr>
                <td><input type="submit" name="b_up" value="Upload starten"></td>
            </tr>
        </table>
    </form>
    '


    Er geht in die handlecheck() rein gibt mir aber dann in der checkfile() nicht den richten Wert zurück, da er in die Schleife mit dem alert('test') rein geht. Nur sollte er das nicht da ich jedesmal die gleiche Datei hochlade.

    Hier wäre die PHP datei:

    PHP-Code:
    $fotos "SELECT * FROM ".table3." ORDER BY pos";
    $resf mysql_query($fotos);
    $datei basname($_POST['file']);
    if(
    is_resource($resf) && mysql_num_rows($resf) > 0)
    {
        while(
    $arr mysql_fetch_assoc($resf))
        {
            if(
    $datei == $arr['dateiname'])
            {
                
    $check true;
            }
        }
    }
    if(
    $check)
    {
        echo 
    'true';
    }
    else
    {
        echo 
    'false';

    Die einfachen Anführungszeichen beim Funktionsaufruf checkfile(start) escape ich wird hier aber nicht angezeigt
    Zuletzt geändert von Anbu; 11.09.2008, 11:25.
    Lurchi ! Lurchi ! Lurchi !

  • #2
    Hat sich erledigt.....
    Lurchi ! Lurchi ! Lurchi !

    Kommentar

    Lädt...
    X