Jessica: Wenn etwas ausgewählt ist

Hallo,

ich bin in PHP noch recht neu und komme an einer Stelle nicht weiter. Hab ein kleines Formular wo der User mir etwas schicken kann, das sieht derzeit so aus:

  
         <form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">  
           <p>  
             <label for="filename">Video wählen</label>  
             <input type="file" name="filename" id="filename" />  
             <input type="submit" name="weiter" id="weiter" value="Weiter zu Schritt 2"/>  
           </p>  
</form>  

Mein PHP Code so

  
	   mysql_query("Insert into inserate_videos_upload_user_aus_seite  
						set  
							ID = '".$Id."',  
							pfad  = '".$newfilename."'  
							");  
	header("Location: /s2.html&id=$Id");  
  

das funktioniert auch nur wenn der User NICHTS auswählt, dann wird ein leeren Eintrag in die DB gemacht und das muss wirklich nicht sein. Ist es möglich dass ich prüfe ob etwas asgefüllt ist und wenn NEIN, dass er dann gleich den header macht und mich auf die nächste Seite leitet ohne etwas in die DB zu schreiben? Ich weiß dafür ist IF und ELSE gemacht aber wie kann ich das anwenden?

Gruß
Jessica

  1. Hi,

    das ist möglich. Es gibt in PHP z.B. die Funktion empty(), welche prüft ob ein String einen Wert enthält oder nicht. http://php.net/manual/de/function.empty.php

    Als zweite Option steht dir z.B. unter HTML 5 das Attribut required="required" zur Verfügung. (http://www.w3schools.com/html/html5_form_attributes.asp)

    Um ganz sicher zu gehen, würde ich dir eine Mischung aus beidem empfehlen.

    BTW: Du solltest dich umbedingt noch mit dem Thema MySQL Injection beschäftigen. (http://php.net/manual/de/security.database.sql-injection.php)

    Gruß

  2. Moin,

    mysql_query("Insert into inserate_videos_upload_user_aus_seite
    set
    ID = '".$Id."',
    pfad  = '".$newfilename."'
    ");

      
    Man sollte statt der veralteten mysql-Schnittstelle, die neuere mysqli-Schnittstelle wählen. Abgesehen davon ist das [Verhindern von SQL-Injections](http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel#Verhindernde_Ma.C3.9Fnahmen) wichtig. Eine Möglichkeit sind auch die ebenfalls im verlinkten Artikel erwähnten Prepared Statements.  
      
    Grüße Marco
    
    -- 
    Ich spreche Spaghetticode - fließend.