php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.04.2009, 18:26  
Neuer Benutzer
 
Registriert seit: 10.04.2009
Beiträge: 6
tobitobi befindet sich auf einem aufstrebenden Ast
Standard Uploadproblem

hallo community,

ich habe ein kleines problem.

und zwar würde ich gerne ein formular machen das zusätzlich noch eine uploadfunktion hat.

also formular soll wiefolgt aussehen:
Datum: Feld in welches man Datum eintragen muß
Turniername: Feld in welches man Turniername eintragen muß
Webseite: Feld in welches man Webseitem eintragen muß
Ausschreibung: Feld in welches man ein dokument hochladen kann.

das ganze sollte dann an eine datenbank gesendet werden.

ich hab 2 php dateien die unabhängig voneinander funktionieren.
ich möchte daraus aber eine datei machen, damit es für den eintragenden einfacher wird.
leider weiß ich nicht wie ich das genau zusammenstellen kann!

datei 1 der upload:
PHP-Code:
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="datei">
<input type="submit" name="submit" value="Hochladen">
</form>

<?php

if(isset($_POST['submit']))
  {
  
$dateigroesse=filesize($_FILES['datei']['tmp_name']);
  
$limit="2048";

  if (
$dateigroesse<$limit*1024)
    {
    
$dateityp=strrchr($_FILES['datei']['name'], ".");

    if ((
$dateityp==".jpg") OR ($dateityp==".jpeg"))
      {
      if (
move_uploaded_file($_FILES['datei']['tmp_name'],"dateien/turniere/".$_FILES['datei']['name']))
        {
        echo 
"Upload erfolgreich";
        }
      else
        {
        echo 
"Upload gescheitert";
        }
      }
    else
      {
      echo 
"Datei nicht erlaubt";
      }
    }
  else
    {
    echo 
"Datei ist zu gross";
    }
  }

?>
datei 2: das formular
PHP-Code:
//Datenbank verbinden
include "123.inc";

                        
$datum="";
                        
$veranstaltung="";
                        
$ausschreibung="";
                        
$webseite="";
                        
$meldung="";


if(isset(
$_POST['sicherheitscode']))
{
    
$code=$_POST['sicherheitscode'];
    
$datum=mysql_real_escape_string($_POST['datum']);
    
$veranstaltung=mysql_real_escape_string($_POST['veranstaltung']);
    
$ausschreibung=mysql_real_escape_string($_POST['ausschreibung']);
    
$webseite=mysql_real_escape_string($_POST['webseite']);

    
$meldung "";

if(empty(
$_SESSION['captcha_spam'] ) || $code != $_SESSION['captcha_spam'])
   
$meldung .= "<rot><b>Sicherheitscode falsch eingegeben!</b></rot><br>";
if(empty(
$datum))
   
$meldung .= "<rot><b>Bitte Tag des Turniers eingeben!</b></rot><br>";
if(empty(
$veranstaltung))
   
$meldung .= "<rot><b>Bitte Turniername eingeben!</b></rot><br>";
if(empty(
$ausschreibung))
   
$meldung .= "<rot><b>Bitte Ausschreibung hochladen (nur Word oder PDF)!</b></rot><br>";
if(empty(
$webseite))
   
$meldung .= "<rot><b>Bitte Webseite eingeben!</b></rot><br>";

if(empty(
$meldung))

{
         
$meldung="<p><rot><b>Turnier erfolgreich eingetragen!</b></rot></p>\n";


mysql_query("INSERT INTO turnierkalender
(datum, veranstaltung, ausschreibung, webseite)
VALUES
('$datum', '$veranstaltung', '$ausschreibung', '$webseite')"
)
or die(
mysql_error());

}
}

mysql_close($link);


                echo 
"<div id=\"box1\">\n";
                echo 
"<p><b><font size=\"+2\">Turniere eintragen</font></b></p>\n";
                if (
$meldung != "") {echo $meldung;}
                echo 
"<center>\n";
                echo 
"<form name=\"anmeldungform\" action=\"turniere_eintragen.php\" method=\"POST\">\n";
                echo 
"<table width=\"10\">\n";
                echo 
"<tr>\n";
                echo 
"<tr><td colspan=\"2\">&nbsp;</td></tr>";
                echo 
"<tr>\n";
                echo 
"<td align=\"left\">Datum des Turniers:</td><td align=\"left\"><input name=\"datum\" type=\"text\" id=\"name\" size=\"70\" maxlength=\"50\" class=\"eingabe\"";
                echo 
" value=\"".$datum."\"";
                echo 
"></td>\n";
                echo 
"</tr>\n";
                echo 
"<tr>\n";
                echo 
"<td align=\"left\">Turniername:</td><td align=\"left\"><input name=\"veranstaltung\" type=\"text\" id=\"vorname\" size=\"70\" maxlength=\"50\" class=\"eingabe\"";
                echo 
" value=\"".$veranstaltung."\"";
                echo 
"></td>\n";
                echo 
"</tr>\n";
                echo 
"<tr>\n";
                echo 
"<td align=\"left\">Ausschreibung:</td><td align=\"left\"><input name=\"ausschreibung\" type=\"text\" id=\"verein\" size=\"70\" maxlength=\"50\" class=\"eingabe\"";
                echo 
" value=\"".$ausschreibung."\"";
                echo 
"></td>\n";
                echo 
"</tr>\n";
                echo 
"<tr>\n";
                echo 
"<td align=\"left\">Webseite:</td><td align=\"left\"><input name=\"webseite\" type=\"text\" id=\"spielklasse\" size=\"70\" maxlength=\"50\" class=\"eingabe\"";
                echo 
" value=\"".$webseite."\"";
                echo 
"></td>\n";
                echo 
"</tr>\n";

//eingefügt aus www.stoppt-den-spam.info
                
echo "<tr>\n";
                echo 
"<td align=\"left\"><img src=\"captcha/captcha.php\" border=\"0\" title=\"Sicherheitscode\"></td>\n";
                echo 
"<td align=\"right\">Sicherheitscode vom Bild: <input type=\"text\" name=\"sicherheitscode\" size=\"5\"></td>\n";
                echo 
"</tr>\n";
//hier ende des einfügens
                
echo "<tr><td colspan=\"2\">&nbsp;</td></tr>";
                echo 
"</table>\n";
                echo 
"<input name=\"formposten\" type=\"submit\" value=\"Abschicken\" class=\"button\" onclick=\"this.value='Bitte warten...';this.enabled=false;\"></center><br>\n";
                echo 
"</form>\n";
                echo 
"</center>\n";
                include 
"aktualisierung.php";
                echo 
"</div>\n";

include 
"inc/ende.php.inc";
?> 
würde mich freuen wenn ich hier hilfe finden wüde.

mfg tobi
tobitobi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.04.2009, 18:30  
Erfahrener Benutzer
 
Benutzerbild von Ti-Systems
 
Registriert seit: 06.10.2008
Beiträge: 240
PHP-Kenntnisse:
Fortgeschritten
Ti-Systems befindet sich auf einem aufstrebenden Ast
Ti-Systems eine Nachricht über ICQ schicken Ti-Systems eine Nachricht über MSN schicken
Standard

Inwiefern zusammenstellen?
Möchtest du einfach anstelle die neue Datei die selbige aufrufen?
Wenn ja:
Du rufst das aktuelle Script in der form mit dem Action-Attribut auf und zwar mit einem GET-Parameter auf den du nachher im aktuellen Script zugreifst.
könnte z.B. so aussehen:
Die Form:

<form action="script1.php?result" method="post">
<!-- Hier das Formular -->
</form>

So die PHP-Datei:

// Datei anfang
if (isset($_GET['result'])) {
// Hier die auswertung
}
// Datei ende

mfg Timo
Ti-Systems ist offline  
Alt 10.04.2009, 18:35  
Neuer Benutzer
 
Registriert seit: 10.04.2009
Beiträge: 6
tobitobi befindet sich auf einem aufstrebenden Ast
Standard

ich möchte das derjenige der das formluar ausfüllen muß, nur die daten eingeben muß und absenden. fertig

und nicht zwei verschiedene dateien aufrufen muß
tobitobi ist offline  
Alt 10.04.2009, 18:51  
Erfahrener Benutzer
 
Benutzerbild von Ti-Systems
 
Registriert seit: 06.10.2008
Beiträge: 240
PHP-Kenntnisse:
Fortgeschritten
Ti-Systems befindet sich auf einem aufstrebenden Ast
Ti-Systems eine Nachricht über ICQ schicken Ti-Systems eine Nachricht über MSN schicken
Standard

Ach soo...
Mach doch einfach ein Formular und eine Auswertung?
Du musst halt einfach bei die eine if bei der anderen als elseif anhängen.
Oder was spricht dagegen?

mfg Timo
Ti-Systems ist offline  
Alt 10.04.2009, 18:52  
Neuer Benutzer
 
Registriert seit: 10.04.2009
Beiträge: 6
tobitobi befindet sich auf einem aufstrebenden Ast
Standard

ja spricht dagegen dass ich davon so gut wie keine ahnung habe
tobitobi ist offline  
Alt 10.04.2009, 19:01  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.072
PHP-Kenntnisse:
Anfänger
litterauspirna befindet sich auf einem aufstrebenden Ast
litterauspirna eine Nachricht über ICQ schicken
Standard

Dann musst du es eben lernen. Warum nutzt du nicht getimagesize zur Prüfung der Bildbreite und Bildhöhe, so kannman ja Monsterbilder drauf laden? Warum legst dir kein Whitelist Array an um erlaubte Dateitypen zu checken? Du machst das alles zu kompliziert. Um die iegentliche Bildgröße zu checken nutze doch $_FILES['img']['size'].

Wenn du willst schaue dir das mal an Lit-Web - Tutorials - PHP - Einfacher Bildupload, vieleicht hilft es dir ja weiter.

Gruß litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 10.04.2009, 19:04  
Neuer Benutzer
 
Registriert seit: 10.04.2009
Beiträge: 6
tobitobi befindet sich auf einem aufstrebenden Ast
Standard

ich möchte keine bilder hochladen, sondern nur .pdf und .doc

ich weiß im upload oben steht jpg und jpeg drin
tobitobi ist offline  
Alt 10.04.2009, 19:07  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.072
PHP-Kenntnisse:
Anfänger
litterauspirna befindet sich auf einem aufstrebenden Ast
litterauspirna eine Nachricht über ICQ schicken
Standard

Na wenn du keine Bilder hochladen willst was steht das Bilderzeugs dann drin?

Trotzdem kannst es dir dann einfacher und übersichtlicher machen mit File Prüfungen. Musst halt mal bisschen lesen und suchen. Denn auch da macht man eine Filesize Prüfung mit $_FILES['datei']['size'] und auch da nimmt man ein Whitelist Array um zu checken, was da grad jemand hochladen will.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 10.04.2009, 19:14  
Neuer Benutzer
 
Registriert seit: 10.04.2009
Beiträge: 6
tobitobi befindet sich auf einem aufstrebenden Ast
Standard

weil ich so das upload script getestet habe, deshalb steht das da drin.

na dann muß ich halt mal noch weiter suchen
tobitobi ist offline  
Alt 10.04.2009, 19:18  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.072
PHP-Kenntnisse:
Anfänger
litterauspirna befindet sich auf einem aufstrebenden Ast
litterauspirna eine Nachricht über ICQ schicken
Standard

Du willst PDF und DOC Dateien hochladen, testest aber auf Bilddateien? Das muss ich jetzt nicht wirklich verstehen.

Oder meine Frau hat mir was ins Ostermarzipan gespritzt das es mir die Sinne vernebelt. kleiner Spaß.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Uploadproblem PHP Tipps 2005 15 01.03.2005 18:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
wie muss eine nennung für ein turnier aussehen?, php code für rot eingeben

Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum