Antworten auf deine Fragen:
Neues Thema erstellen

Communety Hilfe wird benötigt :-)

Messiahs

Aktives Mitglied

Hallo erst mal!
Ich bin ein PhP neuling der gerade dabei ist diese Sprache zu lernen. Jedoch stoße auch ich an meine gränzen wo google und co nicht mehr weiter helfen.
An hand von einen Buch und meinen eigenen kleinen Ideen möchte ich mich so schritt für schritt nach vorne arbeiten.

Projekt Beschreibung

Um meinen Code besser nachvollziehen zu können beschreibe ich hier schnell was es eigentlich machen sollte ^^

Ich bin dabei ein kleines PhP Script zu basteln welches zum Banner Upload benutzt werden soll.

Problem Beschreibung

Leider bekomme ich es nicht zum laufen und sehe den Wald vor lauter bäumen nicht mehr , ich poste das gesamte Script mal rein und hoffe das sich jemand findet der sich der Sache annimt und mir weiter Helfen kann.

PHP:
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<?php 

mysql_connect("localhost", "root", "") or die ("Es konnte keine Verbindung zum Server hergestellt werden!");
mysql_select_db("test") or die ("Es konnte keine Verbindung zur Datenbank aufgebaut werden!");
if (isset($_POST['senden'])) {

$datei_name = ($_FILES['datei']['name']);
$daten = "http://localhost/upload/$datei_name";
$sql = "INSERT INTO banner VALUES ('', '$short', '$long', '$hompage', '$hello', '$daten')";
$groesse = ($_FILES['datei']['size']);
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
$short = htmlentities($_POST['short']);
$long = htmlentities($_POST['full']);
$hompage = htmlentities($_POST['hp']);
$hello = htmlentities($_POST['text']);
$allowed_types = "(jpg|jpeg|gif|bmp|png)";



if(preg_match("/\." . $allowed_types . "$/i", $_FILES["datei"]["name"])) 

    {

if($_FILES['datei']['size'] <  307200)
    
    {

if (mysql_query($sql)) 
    
    {

if (mysql_query($sql)) 
    
    {
if (!file_exists($filepath.$_FILES['picture']['name']))
    {
(move_uploaded_file($_FILES['datei']['tmp_name'], 
"upload/$datei_name")); 
    {
    echo "Upload OK";
    }
    else { 
    echo "Upload ERROR";
    }
    else {
    echo "Datei zu Groß";
    }
    else {
    echo "Dateityp nicht erlaubt";
    }
    else {
    echo "Ändere deinen Datei Namen";
    }
    }
    }



?>
<form action="one.php" method="post" enctype="multipart/form-data">
  <input type="text" name="short" />
  Name kurz<br>
  <input type="text" name="full" />
  Name lang<br>
  <input type="text" name="hp" />
  Hompage<br>
  <textarea name="text" cols="60" rows="10" id="text"></textarea>
  Beschreibung<br>
  <input type="file" name="datei">
  Banner<br>
  <input type="submit" name="senden" value="Senden" />
  <br>
</form>
</body>
</html>
 

MyBad

localhorst

AW: Communety Hilfe wird benötigt :)

Hallo!

Was läuft denn nicht? Bekommst du eine Fehlermeldung? Wenn ja, welche?

Du hast das
Code:
if (mysql_query($sql)) 
{
z. B. 2 mal hintereinander. Ich sehe da aber keinen Grund für.

Überprüfe mal deinen kompletten Code. Da wurden geschweifte Klammern geöffnet die an diesen Stellen allerdings fehl am Platz sind.

Gruß
Tim
 
Zuletzt bearbeitet:

sokie

Mod | Web

AW: Communety Hilfe wird benötigt :)

schau dir am besten nochmal deine 'if' klauseln an, da ist manches nicht ganz klar. Für en Anfang kann es hilfreich sein, sich an die Empfehlungen des Buchs zu halten, was Einrückungen etc. angeht, um den Code lesbar zu halten. das vereinfacht dann die Fehlersuche.

PHP:
if (mysql_query($sql)) 
    
    {

if (mysql_query($sql)) 
    
    {
ist doppelt, weitere fehler finden sich in den if klauseln, aber die wirst du bei entsprechender Formatierung schnell finden.
 

Messiahs

Aktives Mitglied

AW: Communety Hilfe wird benötigt :)

Natürlich versuche ich mich ans Buch zu halten , jedoch fallen mir dann kleine Ideen ein wie diese die ich versuche dann umzusätzen. Leider kann einen das Buch nicht alles erklären bzw alles Zeigen. So benutze ich auch verschiedenen php Seiten um Informationen einzuholen und diese dann einzubauen.

Der Fehler den ich bekomme ist dieser Parse error: parse error in C:\xampp\htdocs\one.php on line 46
 

MyBad

localhorst

AW: Communety Hilfe wird benötigt :)

An der Stelle ist eine öffnende geschweifte Klammer zuviel! Wird aber sicherlich nicht der einzige Fehler bleiben.

p.s.: Halte dich besser erst einmal an das Buch. Denn momentan habe ich den Eindruck, dass du noch nicht genau weißt was du da tust (am Anfang völlig normal) ;)
 
Zuletzt bearbeitet:

sokie

Mod | Web

AW: Communety Hilfe wird benötigt :)

Natürlich versuche ich mich ans Buch zu halten , jedoch fallen mir dann kleine Ideen ein wie diese die ich versuche dann umzusätzen. Leider kann einen das Buch nicht alles erklären bzw alles Zeigen. So benutze ich auch verschiedenen php Seiten um Informationen einzuholen und diese dann einzubauen.

Der Fehler den ich bekomme ist dieser Parse error: parse error in C:\xampp\htdocs\one.php on line 46

eigentlich hat jedes Anfängerbuch in dem Bereich am Anfang die eine oder andere Anmerkung dazu wie der Code notiert wird, und wie man die Übersicht behält. Dazu gehören zum Beispiel die Einrückungen in if Klauseln, switch Statements und Schleifen. Das trägt nicht zum 'Funktionieren' des Codes bei, sondern zur Übersichtlichkeit und vor allem zur einfacheren Fehlersuche und zur Fehlervermeidung. Darauf bezog sich mein Beitrag. Lies dir die ersten Kapitel des Buchs nochmal genau durch, und halt dich erstmal an diese Konventionen. Sie sind hilfreich.
Übrigens sind es genau diese Klammerfehler, die man bei strukturierter Notierung als erstes findet.
 

Messiahs

Aktives Mitglied

AW: Communety Hilfe wird benötigt :)

Ich danke euch für diese Tips , ich werde mal das ganze neu und richtig Formatieren.Hoffe das es dann klappt. Sollte es nicht so sein dann hoffe ich das ihr etwas genauer werden könntet was meine Script Fehler betreffen.

Mfg und DAnNKE
 

Messiahs

Aktives Mitglied

AW: Communety Hilfe wird benötigt :)

So ich habe mich jetzt noch ma dran gemacht und alles funzt nun bis auf eines , würde mich sehr freuen wenn ich eine Antwort bekommen würde mit der richtigen Lösung

dies IF ANWEISUNG if (!file_exists($filepath.$_FILES['picture']['name'])) { soll Prüfen ob eine Datei mit dem selben Namen auf dem Server bereits vorhanden ist. Das macht sie auch braf , jedoch wenn ich eine Datei hochladen will die einen anderen Namen hatt kommt auch echo Meldung das die Datei bereits vorhanden ist und ladet sie somit auch nicht hoch!

Die anderen IF ANWEISUNGEN die kontrollieren ob das Format so wie die Größe ok ist funktionuiert alles wunderbar!

Hier noch mals mein Code


PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<?php 

mysql_connect("localhost", "root", "") or die ("Es konnte keine Verbindung zum Server hergestellt werden!");
mysql_select_db("test") or die ("Es konnte keine Verbindung zur Datenbank aufgebaut werden!");
if (isset($_POST['senden'])) {
$filepath = "upload";
$datei_name = ($_FILES['datei']['name']);
$daten = "http://localhost/upload/$datei_name";
$sql = "INSERT INTO banner VALUES ('', '$short', '$long', '$hompage', '$hello', '$daten')";
$groesse = ($_FILES['datei']['size']);
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
$short = htmlentities($_POST['short']);
$long = htmlentities($_POST['full']);
$hompage = htmlentities($_POST['hp']);
$hello = htmlentities($_POST['text']);
$allowed_types = "(jpg|jpeg|gif|bmp|png)";



if(preg_match("/\." . $allowed_types . "$/i", $_FILES["datei"]["name"])) {
if($_FILES['datei']['size'] <  307200) {
if (!file_exists($filepath.$_FILES['picture']['name'])) {
if (mysql_query($sql)) 
if (move_uploaded_file($_FILES['datei']['tmp_name'], "upload/$datei_name")); 
} else {echo "Die Datei ist bereits vorhanden , wähle einen anderen Namen aus!";}
} else {echo "Datei darf maximal 300 KB groß sein!";}
} else {echo "Du darfst nur jpg|jpeg|gif|bmp|png Formate Hochladen ";}
}


?>
<form action="one.php" method="post" enctype="multipart/form-data">
  <input type="text" name="short" />
  Name kurz<br>
  <input type="text" name="full" />
  Name lang<br>
  <input type="text" name="hp" />
  Hompage<br>
  <textarea name="text" cols="60" rows="10" id="text"></textarea>
  Beschreibung<br>
  <input type="file" name="datei">
  Banner<br>
  <input type="submit" name="senden" value="Senden" />
  <br>
</form>
</body>
</html>
 

MyBad

localhorst

AW: Communety Hilfe wird benötigt :)

Du darfst folgendes nich in if-Klauseln setzen:
PHP:
if (mysql_query($sql)) 
if (move_uploaded_file($_FILES['datei']['tmp_name'], "upload/$datei_name"));

Du prüfst dort ja nichts. Richtig wäre:
PHP:
if (!file_exists($filepath.$_FILES['picture']['name'])) {
   mysql_query($sql); // Query ausfuehren
   move_uploaded_file($_FILES['datei']['tmp_name'], "upload/$datei_name"); //Datai hochladen
} else { echo "Die Datei ist bereits vorhanden , wähle einen anderen Namen aus!";}
 

Messiahs

Aktives Mitglied

AW: Communety Hilfe wird benötigt :)

Bei der query abfrage haste recht da is das if echt unnötig , jedoch bei der 2 finde ich dasnicht habe nur vergessen eine echo zu schreiben das der Upload erfolgreich war.

Ich habe es zu test zwecken trotzdem mal ab geändert jedoch bleibt mein problem weiterhin bestehen.

Mfg
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben