| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

25-07-2010, 19:29
|
|
DaRealMorpheus
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 8
|
|
Dateiupload und Textboxen gleichzeitig verarbeiten
Hi, hab ein Problem was meinen Quelltext angeht.
ich möchte gern in einem formular gleichzeitig einen Dateiupload und Daten aus einer Textbox gleichzeitig verarbeiten, dazu habe ich vorerst folgendes Formular erstellt:
PHP-Code:
<form action="upload.php" method="post" enctype="multipart/form-data" name="upload"> <table> <tr> <td>Laufnummer:</td> <td><input type="text" name="laufummer"></td> </tr> <tr> <td>XML-File</td> <td><input type="file" name="file"></td> </tr> <tr> <td> </td> <td><input type="submit" name="submit" value="Upload"></td> </tr>
</table> </form>
der fileupload mit den ganzen abfragen ob es das richtige format hat, nicht zu groß wohin und alles funktioniert soweit
wenn ich jetzt aber versuche mit
PHP-Code:
$lauf = $_POST['laufnummer']; echo $lauf;
mit das textfeld auszugeben passiert gar nichts.
hat irgendjemand ne lösung für mich?
Danke Christian
|

25-07-2010, 19:34
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
Das kann viele Gründe haben. Hängt aber von der Logik deines Codes ab. Tipp: dreh erst Mal das error_reporting auf und poste dann ggf. den entsprechenden Code. Denn eigentlich sollte bei dem echo etwas kommen.
Gruß
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

25-07-2010, 19:44
|
|
DaRealMorpheus
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 8
|
|
hab die error-reports gerade nochmal gecheckt, zuerst auf meinem testspace, dann nochmal auf einem lokalem apache mit den reports, ergebnis waren keine errors...
naja hier nochmal mein gesamter php schnippsel
PHP-Code:
<?php
// Variabeln festlegen $max_byte_size = 51200; $allowed_types = "(xml)"; // Formular wurde abgeschickt if($_POST["submit"] == "Upload") {
// Wurde wirklich eine Datei hochgeladen? if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen) if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) {
// Datei auch nicht zu groß if($_FILES["file"]["size"] <= $max_byte_size) {
// Alles OK -> Datei kopieren if(copy($_FILES["file"]["tmp_name"], $_FILES["file"]["name"])) {
echo "Datei erfolgreich hochgeladen!<br>"; echo "Name: " . $_FILES["file"]["name"] . "<br>"; echo "Größe: " . $_FILES["file"]["size"] . " Byte<br>"; echo "MIME-Type: " . $_FILES["file"]["type"] . "<br>"; echo "Link: <a href=\"" . $_FILES["file"]["name"] . "\">" . $_FILES["file"]["name"] . "</a><br><br>";
$ergebnis = $_FILES["file"]["name"]; if(file_exists($ergebnis)) { $xml = simplexml_load_file($ergebnis); //Lädt die XML-Datei in ein Objekt if($xml){ $lauf = $_POST['laufnummer']; echo "<br><br>"; echo "Hier Kommmt der Lauf: "; echo $lauf;
}
} else { echo "Datei konnte nicht hochgeladen werden."; }
} else { echo "Die Datei darf nur eine Größe von " . $max_byte_size . " Byte besitzen."; } } else { echo "Die Datei besitzt keine ungültige Endung."; }
} else { echo "Keine Datei zum Hochladen angegeben."; } } else { echo "Bitte benutzen Sie das Upload Formular."; } }
?>
Geändert von DaRealMorpheus (25-07-2010 um 19:53 Uhr)
|

25-07-2010, 20:46
|
|
2Bad4You
Registrierter Benutzer
|
|
Registriert seit: Jun 2007
Beiträge: 101
|
|
Du willst auf
PHP-Code:
$_POST['laufnummer']
zugreifen, aber in dem $_POST Array existiert nur:
PHP-Code:
$_POST['laufummer']
Also einen Buchstaben vergessen, musst nur dein HTML Formular anpassen dann solllte alles funktionieren.
Code:
<td><input type="text" name="laufnummer"></td>
wäre dann korrekt.
Geändert von 2Bad4You (25-07-2010 um 20:49 Uhr)
|

25-07-2010, 21:02
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Merkwürdig, dass das keine Notice geschmissen hat. Bist du dir sicher mir dem Error-Reporting?
|

25-07-2010, 21:28
|
|
DaRealMorpheus
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 8
|
|
ja bin mir ziemlich sicher, hab alles so gemacht wie auf der seite mit dem error reporting
danke für die antwort manchmal sieht man echt den wald vor lauter bäumen nicht -.-
jetzt hab ich aber gleich noch das nächste problem,
ich habe die xml die ich uploaden will ausgelesen und zur überprüfung ein formular mit verschiedenen daten erstellt, für den fall das die xml nicht korrekt ist
PHP-Code:
foreach($xml->RaceResults->Race->Driver as $driver) { $finish = $driver->FinishStatus; //Laufabfrage noch hinzufügen if($finish != 'None') { $platz = $driver->Position; $fahrer = $driver->Name; $fahrzeug = $driver->VehName; $team = $driver->TeamName; $teamberechnung = strlen($x)-9; $team = substr ($team, 0 , $teamberechnung); $startpos = $driver->GridPos;
echo '<tr>'; echo '<td><input type="text" name="platz" value="'.$platz.'"></td>'; echo '<td><input type="text" name="fahrer" value="'.$fahrer.'"></td>'; echo '<td><input type="text" name="team" value="'.$team.'"></td>'; echo '<td><input type="text" name="startpos" value="'.$startpos.'"></td>'; echo '<td><input type="text" name="fahrzeug" value="'.$fahrzeug.'"></td>'; echo '</tr>'; } echo '</form>';;
das formular wird richtig erstellt, aber ich weiß nicht wie ich ich die daten jetzt noch übertragen kann, was ich also als namen/bezeichnung für die textfelder eingeben kann um alles in die datenbank schreiben zu können
Geändert von DaRealMorpheus (25-07-2010 um 21:30 Uhr)
|

25-07-2010, 21:34
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Zitat:
|
aber ich weiß nicht wie ich ich die daten jetzt noch übertragen kann, was ich also als namen/bezeichnung für die textfelder eingeben kann um alles in die datenbank schreiben zu können
|
Wo genau ist das Problem? PHP ist es prinzipiell egal, welchen Namen du verwendest, hauptsache er ist eindeutig. Du kannst also auch "asd" und "efg" verwenden.
|

25-07-2010, 21:49
|
|
DaRealMorpheus
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 8
|
|
ich weiß nicht ob du es siehst aber ich erstelle ein mehrzeiliges formular mit mehreren eingabefeldern
also beispielsweise 20x name, 20x platz usw
deswegen ist es wenn ich am ende get mache nichtmehr eindeutig
|

25-07-2010, 22:09
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
häng mal an jeden Namen im Formular eckige Klammern dran, also z. B.
HTML-Code:
<input type="text" name="platz[]" value="..." />
und sieh dir das Post-Array mit print_r an
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

25-07-2010, 23:25
|
|
DaRealMorpheus
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 8
|
|
danke, das sollte jetzt reichen dass ich mein projekt vorerst voran bringe
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|