ilch Forum » Allgemein » HTML, PHP, SQL,... » Formulardaten an php übergeben

Geschlossen
  1. #1
    User Pic
    Kelevra Mitglied
    Registriert seit
    25.10.2007
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Hallo Leute, ich glaube das ist das richtige Forum. Folgendes, ich habe mir ein kleines Script geschrieben, welches Informationen aus einer Datenbank holen soll. Das funktioniert auch ganz gut. Jetzt sollen nur bestimmte User etwas in diese DB eintragen können. Ich habe dazu erstmal ein Formular mit bestimmten Feldern definiert das eine enter.php als action hat. Ich habe die Seite die aufgerufen werden soll (selfpage) erstellt, das sieht dann so aus:

    scriptdb.php

    <html>
    <body>
    
    <p><span style="font-size: medium;"><strong>Upper only</strong></span></p>
    <form method="POST" action="/enter.php">
        <p>Semester: <input select="1" name="SEM"/>
        Fach:        <input select="1" name="SUB" /><br></br>
    	<br></br>
        URL zur File: <input type="text" name="URL" /></p>
    	
        <p>Art der File: <br />
        <input type="radio" value="Aktualisierung" name="Art" /> Aktualisierung<br />
        <input type="radio" value="Final" name="Art" /> Finale Version</p>
        <input type="submit" name="absenden" value="In DB Eintragen" />
    </form>
    </body>
    </html>


    Gut auch das funktioniert die enter.php sieht so aus:

    <?php
    
    include'connect_db.php';
    
    	function writeDB(){
    		$result = mysql_query("INSERT INTO t1sem".
    				"('Fach','Upper','Datei', 'Status' ) " .
    				"VALUES('SUB','Henrik','$SEM')") or die(mysql_error());	
    	}
    	
    	if ($result){
    		echo "<br></br>Du hast das Skript $URL für das Fach $SUB aus dem $SEM erfolgreich eingetragen";
    			}else {
    		echo "Es ist ein Fehler beim eintragen aufgetreten, versuche es später nocheinmal";
    		}
    
    mysql_close($connection);


    P.s.: ich weiss, dass das derzeit noch nich nach den Regeln der OOP geht, werde das aber noch ändern, es geht erstmal um die Basisfunktionalität.

    Naja kurze rede langer unsinn. Eine DB Verbindung besteht und wird auch nicht vorzeitig geschlossen. Wenn ich allerdings das Formular ausfülle und dann auf in DB eintragen gehe, erhalte ich einen 404 - enter.php nicht gefunden, aber ka warum. Es soll noch gesagt werden, dass die enter.php und die scriptdb.php sowie die connect_db.php in einem Ordner liegen. Also bin ich jetzt einfach zu doof, oder übersehe ich etwas? Ich danke schonmal für die Hilfe

    Ach und, ich weiss nich warum hier im code tag, die ganzen backslashes reingehauen, werden... in wirklichkeit siehts nich so aus^^.


    verwendete ilchClan Version: 1.1
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Dann nimm mal das / vor enter.php weg zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Kelevra Mitglied
    Registriert seit
    25.10.2007
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Hallo,

    schon passiert^^. War noch eine alte version der file. In der aktuellen isses raus, aber es funzt trotzdem leider nich.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Und da kommt immer noch der 404 Fehler?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Kelevra Mitglied
    Registriert seit
    25.10.2007
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Hallo,

    leider ja, das wundert mich halt, mir fällt aber auf, das der link völlig falsch ist. Der sucht im root nach der php. Da ist sie aber nicht. Ich habe dann mal spassenhalber dat ding in den root geklatscht, aber selbst dann findet er sie nicht.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Kelevra Mitglied
    Registriert seit
    25.10.2007
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Hab das ganze mal über localhost auf xampp getestet. Da versucht er wenigsten die enter.php auszuführen. Aber er gibt nur meinen Fehler String zurück, obwohl es in der mysql auf localhost eine db mit genau den selben spezifikationen gibt. Ein php error wird nicht angezeigt.


    Zuletzt modifiziert von Kelevra am 13.04.2008 - 20:26:04
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja was mir jetzt noch auffällt, sind 4 Felder aber nur 3 Values, wobei eins eine Variable sein soll, nehme ich an, aber nicht also solche behandelt werden soll, aber das hat nix mit einem 404 zu tun, sowas kommt eigentlich nur, wenn der Webserver die angegebene Datei nicht finden kann.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Kelevra Mitglied
    Registriert seit
    25.10.2007
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Also irgendwie kommt mir das spanisch vor. Ich mein die Datei enter.php liegt ja nu im selben Verzeichnis.

    Update: Auf localhost geht das jetzt wie ich mir das vorstelle. Aber im Netz halt nich. Irgendwas müssen wir übersehen haben.
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Du kannst oben auch nochmal die Dateien editieren, oder Links zu denen setzen, die du aktuell benutzt, bei php halt ne extra Datei machen wo
    <?php highlight_file('name.php'); ?>
    drin steht und diese dann verlinken.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Kelevra Mitglied
    Registriert seit
    25.10.2007
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Hi, danke erstmal für die Antwort, wie meinst du das jetzt mit links? Zum Beispiel am beispiel der name.php? Kann ich das so verstehen, dass darein alle verweise auf zu verwendente Dateien stehn?

    <?php highlight_file('name.php'); ?>
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Das wäre einfach nur, damit man als Außenstehender den Code einer anderen PHP Datei sehen kann, in diesem Fall halt name.php als Bsp., weil man ja den Inhalt von php Dateien sonst nicht sehen kann zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Kelevra Mitglied
    Registriert seit
    25.10.2007
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Interessanmt, aber das eigentliche Problem lösts ja nu leider nich- Ich hab hier und da nochmal bisschen modifiziert und auch die Dateinamen geändert, damits eindeutiger ist.

    scriptdb.php
    <html>
    <body>
    
    <p><span style="font-size: medium;"><strong>Upper only</strong></span></p>
    <form method="POST" action="insertData.php">
        <p>Semester: <input select="1" name="SEM"/>
        Fach:        <input select="1" name="SUB" /><br></br>
    	<br></br>
        URL zur File: <input type="text" name="URL" /></p>
    	
        <p>Art der File: <br />
        <input type="radio" value="Aktualisierung" name="Art" /> Aktualisierung<br />
        <input type="radio" value="Final" name="Art" /> Finale Version</p>
        <input type="submit" name="absenden" value="In DB Eintragen" />
    </form>
    </body>
    </html


    insertData.php
    <?php
    $URL = $_POST['URL'];     /* es wird der Text ausgegeben, den du im Formular eingegeben hast */
    $SUB = $_POST['SUB'];
    $SEM = $_POST['SEM'];
    
    ## include the connect_db.php
    include'connect_db.php';
    
    		$result = mysql_query("INSERT INTO t1sem(`Fach`,`Upper`,`Datei`,`Size`)" .
    								 "VALUES('$SUB', 'User2', '$URL', '100');") 
    								 or die(mysql_error());
    	
    	if ($result){
    		echo "<br></br>Du hast das Skript $URL für das Fach $SUB aus dem $SEM erfolgreich eingetragen";
    			}else {  
    				echo "Es ist ein Fehler beim eintragen aufgetreten, versuche es später nocheinmal";
    			}
    
    ##after insert, close connection 			
    mysql_close($connection);
    
    ?>


    Alle files liegen unter selfpages/selfpb... Also kann es garnich anders sein. Habe auch versucht nen relativen Pfad anzugeben. Aber das funzt nich. Ich kann mir einfach nicht erklären, warum das auf localhost gehen soll und im netz nich.
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ein Link hast du aber nicht?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Kelevra Mitglied
    Registriert seit
    25.10.2007
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Wie meinstn du das? In den Formularen sind ja die action="insertData.php" definiert. Also, was ich bis jetzt gelesen habe. Sollte das doch reichen oder? Es wäre ja wenig sinnvoll wenn ich jetzt noch nen include in den html code schreiben würde. Sry mairu aber ich steht grad bisschen aufm schlauch.
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ich meinte ein Link zu den Dateien, also das ich mir das direkt mal im Browser anschauen kann.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Kelevra Mitglied
    Registriert seit
    25.10.2007
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Aso jetzt raff ich das^^ Sry. Also das sind hauptächlich vier files... die connect_db, queryData.php, insertData.php und scriptdb.php.

    Ich werde dir die links mal per PN schicken ok? Muss ja nich alles im forum stehen.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten