AJAX - Rückgabewert Problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by Anbu; 11-09-2008, 10:25.
    Lurchi ! Lurchi ! Lurchi !

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

    Comment

    Working...
    X