kostenloser Webspace werbefrei: lima-city


PHP unklar

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    i*******r

    Hallo,
    ich habe das Problem, das einige User nicht bei homepage in meinem Gbook http://... eingeben. deshalb möchte einen Code, der wenn die variable $homepage http://enthält eine Aktion ausführt und wenn nicht eine andere.Leider weiß ich ich net wie man schreibt, das eine Variable etw. enthält. es müsste ca. so aussehen
    if ($homepage enhtältt http://){
    echo aktion1
    }
    else
    {
    echo Aktion 2
    }
    .....

    Bitte helft mir.

    Beitrag geaendert: 4.4.2007 22:27:54 von itak4ever
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. s***h

    Eventuell hilft dir das hier:
    http://tut.php-q.net/regex.html
  4. Autor dieses Themas

    i*******r



    sesch schrieb:
    Eventuell hilft dir das hier:
    http://tut.php-q.net/regex.html

    Erstmal danke für den Eintrag aba leida net wirklich oda ich bin zu dumm es zu sehen. Als ich möchte nur wissen wie man es schreiben muss. Denn wenn z.B. schreiben will wenn eine datei ...ist (z.B. if ($nachname=='')), genau das möchte ich haben mit $homepage und dann enthällt. Also was ich anstatt von == eingeben muss.

    Danke
  5. regex geht gut, ist aber ein bisschen mit Kanonen auf Spatzen geschossen ;)

    Die Funktion die du suchst heißt strpos().

    MfG,
    thw
  6. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    Das mit den regulären Ausdrücken war schon richtig. Umsetzen kannst du das dann so:

    <?php
    if (preg_match('!^http://!i',$homepage)) {
      //Aktion, wenn $homepage http:// enthält
    } else {
      //Aktion, wenn $homepage http:// nicht enthält
    }
    ?>


    edit:
    Wie soll strpos() funktionieren, wenn http:// am Anfang von $homepage steht (quasi 0 rauskommt)?

    Beitrag geaendert: 4.4.2007 21:17:28 von sandrock-jonas
  7. Autor dieses Themas

    i*******r

    Danke für die schnelle + erfolgreiche Hilfe. Ein weiteres Problem, ist das ich eine Seite habe,in der man Nachname,Vorname,,email,homepage,verzeichnis des bildes angeben kann. ich habe mit if ($vorname=='')), (auch mit $nachname) diese als "Pflichfelder" festgelegt. Doch wenn man die Seite öffnet, zeigt er schon an, dass ich den Vorname eingeben soll. Wie kann ich das ändern???

    <form enctype='multipart/form-data' action='#' method='post'> 
    <font face='Verdana'> 
    <input type='hidden' name='MAX_FILE_SIZE' value='3000000'> 
    </font> 
    <b> 
    Vorname:<input type="text" name="vorname" size="25">  <br> 
    Nachname:<input type="text" name="nachname" size="25">  <br> 
    E-Mail:<input type="text" name="email" size="25">  <br> 
    Homepage:<input type="text" name="homepage" size="25">  <br> 
    
    <font size='1'>Dateigröße: max. 3MB erlaubt sind: *.gif | *.jpg | *.png</font></b><font size='2'><br> 
    </font>Datei:<input name='userfile' type='file' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6' size='20'><font size='2'> 
    </font> 
    </select><font size='2'> </font> 
    
    
    <br><input type='submit' name='senden' value='upload' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6'></form> 
    
    <form enctype='multipart/form-data' action='#' method='post'>
    <font face='Verdana'>
    <input type='hidden' name='MAX_FILE_SIZE' value='3000000'>
    </font>
    <b>
    Vorname:<input type="text" name="vorname" size="25">  <br>
    Nachname:<input type="text" name="nachname" size="25">  <br>
    E-Mail:<input type="text" name="email" size="25">  <br>
    Homepage:<input type="text" name="homepage" size="25">  <br>
    
    <font size='1'>Dateigröße: max. 3MB erlaubt sind: *.gif | *.jpg | *.png</font></b><font size='2'><br>
    </font>Datei:<input name='userfile' type='file' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6' size='20'><font size='2'>
    </font>
    </select><font size='2'> </font>
    
    
    <br><input type='submit' name='senden' value='upload' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6'></form>
    
    <?php
    
    // Zuerst bauen wir eine Verbindung zur Datenbank auf
    
    $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', 'imMFexO1')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');
    
    mysql_select_db('db?71899?1') or die ('Die Datenbank existiert nicht.');
    
    $data = $_FILES['userfile']['name']; // Variable für Filename
    $kategorie = $_POST['kategorie']; // Variable für Kategorie
    $vorname = addslashes($vorname);
    $nachname = addslashes($nachname);
    $email = addslashes($email);
    $homepage = addslashes($homepage);
    
    // Ab jetzt fängt die Spamüberprüfung an, damit es keine doppelten Einträge gibt
    
    
     if ($vorname=='') {
    
    echo 'Bitte geben Sie ihren Vornamen ein.' ;
    } else
    {
     if ($nachname=='') {
    
    echo 'Bitte geben Sie ihren Nachnamen ein.';
     } else {
    
    if ($data=='')
    {
    echo $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', 'imMFexO1')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');
    
    mysql_select_db('db?71899?1')
    or die ('Die Datenbank existiert nicht.');
    
    mysql_query("INSERT INTO uploadbilder (bild,vorname, nachname, email,homepage) VALUE('keines.gif' ,'$vorname' ,'$nachname' ,'$email' ,'$homepage')");
    
    }
    
    else
    {
    
    if (file_exists ("uploadbilder/$data")) {
    echo 'Diese Datei existiert bereits. Bitte benennen Sie die Datei um!' ;
    }
    else
    {
    
    
    //Deklaration der gültigen typen - Hier könnt ihr weitere hinzufügen
    $mimearray = array('image/gif');
    
    //Upload verzeichnis
    $uploaddir = 'uploadbilder/';
    //Prüfen ob Formular gesendet wurde
    if($_POST['senden']==true){
    // Prüfung auf Gültigkeit des Vordeklarierten MimeTyps
    if(in_array($_FILES['userfile']['type'],$mimearray))
    {
    // dateiupload
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
    print 'Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:n';
    print '<br>';
    print 'Name: '.$_FILES['userfile']['name'].'<br>';
    print 'Größe: '.$_FILES['userfile']['size'].'<br>';
    print 'Typ: '.$_FILES['userfile']['type'].'<br>';
    
    
    
    
    $eintrag = "INSERT INTO uploadbilder (bild,vorname,nachname)
    VALUES ('$data' ,'$vorname' ,'$nachname')";
    
    $eintragen = mysql_query($eintrag);
    if($eintragen == true)
    {
    echo 'Eintrag erfolgreich in die Datenbank eingetragen';
    }
    }else{
    // Fehler beim Dateiupload
    print 'Fehler beim Dateiupload';
    }
    }
    else
    {
    //Fehlermeldung wenn Datei nicht den vordeklarierten MimeTypes entspricht
    print $_FILES['userfile']['name'].' - '.$_FILES['userfile']['type'].' <br>ist nicht für den Upload gestatet';
    }
    }
    }
    }
    }
    }
    ?>


    Diese DAtei steht unter http://itak4ever.lima-city.de/upload.php



    Beitrag geaendert: 4.4.2007 21:23:46 von itak4ever

    Beitrag geaendert: 4.4.2007 22:28:21 von itak4ever
  8. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    Das kannst du so realisieren:

    <?php
    if ($vorname == '' && 'upload' == $_POST['senden']) {
      echo 'Bitte geben Sie ihren Vornamen ein.';
    }
    ?>


    Analog bei den anderen Abfragen.

    $vorname = addslashes($vorname);
    müsste das nicht eigentlich
    $vorname = addslashes($_POST['vorname']);
    heißen oder hast du nicht den vollständigen Code gepostet?

    Beitrag geaendert: 4.4.2007 21:28:25 von sandrock-jonas
  9. Autor dieses Themas

    i*******r

    Danke an jonas. Das ist der ganz Code. Es geht auch nur er zeigt mir jetzt irgendwie unter dem Formular ne 1 an. Das ist der neue Code.
    <form enctype='multipart/form-data' action='#' method='post'>
    <font face='Verdana'>
    <input type='hidden' name='MAX_FILE_SIZE' value='3000000'>
    </font>
    <b>
    Vorname:<input type="text" name="vorname" size="25">  <br>
    Nachname:<input type="text" name="nachname" size="25">  <br>
    E-Mail:<input type="text" name="email" size="25">  <br>
    Homepage:<input type="text" name="homepage" size="25">  <br>
    
    <font size='1'>Dateigröße: max. 3MB erlaubt sind: *.gif | *.jpg | *.png</font></b><font size='2'><br>
    </font>Datei:<input name='userfile' type='file' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6' size='20'><font size='2'>
    </font>
    </select><font size='2'> </font>
    
    
    <br><input type='submit' name='senden' value='upload' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6'></form>
    
    <?php
    
    // Zuerst bauen wir eine Verbindung zur Datenbank auf
    
    $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', 'imMFexO1')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');
    
    mysql_select_db('db?71899?1') or die ('Die Datenbank existiert nicht.');
    
    $data = $_FILES['userfile']['name']; // Variable für Filename
    $kategorie = $_POST['kategorie']; // Variable für Kategorie
    $vorname = addslashes($vorname);
    $nachname = addslashes($nachname);
    $email = addslashes($email);
    $homepage = addslashes($homepage);
    
    // Ab jetzt fängt die Spamüberprüfung an, damit es keine doppelten Einträge gibt
    
    
     if ($vorname == '' && 'upload' == $_POST['senden']) {
    echo 'Bitte geben Sie ihren Vornamen ein.' ;
    } else
    {
    if ($nachname == '' && 'upload' == $_POST['senden']) {
    
    echo 'Bitte geben Sie ihren Nachnamen ein.';
     } else {
    
    if ($data=='')
    {
    echo $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', 'imMFexO1')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');
    
    mysql_select_db('db?71899?1')
    or die ('Die Datenbank existiert nicht.');
    
    mysql_query("INSERT INTO uploadbilder (bild,vorname, nachname, email,homepage) VALUE('keines.gif' ,'$vorname' ,'$nachname' ,'$email' ,'$homepage')");
    
    }
    
    else
    {
    
    if (file_exists ("uploadbilder/$data")) {
    echo 'Diese Datei existiert bereits. Bitte benennen Sie die Datei um!' ;
    }
    else
    {
    
    
    //Deklaration der gültigen typen - Hier könnt ihr weitere hinzufügen
    $mimearray = array('image/gif');
    
    //Upload verzeichnis
    $uploaddir = 'uploadbilder/';
    //Prüfen ob Formular gesendet wurde
    if($_POST['senden']==true){
    // Prüfung auf Gültigkeit des Vordeklarierten MimeTyps
    if(in_array($_FILES['userfile']['type'],$mimearray))
    {
    // dateiupload
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
    print 'Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:n';
    print '<br>';
    print 'Name: '.$_FILES['userfile']['name'].'<br>';
    print 'Größe: '.$_FILES['userfile']['size'].'<br>';
    print 'Typ: '.$_FILES['userfile']['type'].'<br>';
    
    
    
    
    $eintrag = "INSERT INTO uploadbilder (bild,vorname,nachname)
    VALUES ('$data' ,'$vorname' ,'$nachname')";
    
    $eintragen = mysql_query($eintrag);
    if($eintragen == true)
    {
    echo 'Eintrag erfolgreich in die Datenbank eingetragen';
    }
    }else{
    // Fehler beim Dateiupload
    print 'Fehler beim Dateiupload';
    }
    }
    else
    {
    //Fehlermeldung wenn Datei nicht den vordeklarierten MimeTypes entspricht
    print $_FILES['userfile']['name'].' - '.$_FILES['userfile']['type'].' <br>ist nicht für den Upload gestatet';
    }
    }
    }
    }
    }
    }
    ?>


    Diese Datei steht immer noch unter http://itak4ever.lima-city.de/upload.php


    Ich würde mich über die heben des hoffentlich letzten Problems sehr freuen.



    Beitrag geaendert: 4.4.2007 22:28:56 von itak4ever
  10. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    echo $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', 'imMFexO1')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');

    Lass das echo weg.

    $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', 'imMFexO1')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');

    2 Dinge, die ich dir noch raten würde:

    1. Bring Ordnung in deine Scripte! Du brauchst nicht zu jedem if() ein else. Außerdem gibts elseif(). Gliedere deinen Code, indem du ihn sinnvoll einrückst. Benutz außerdem die [code]-Funktion von Lima-City, wenn du PHP-Code postest.
    2. Ist das wirklich dein Passwort?
    mysql_connect ('mysql.lima-city.de','USER71899', 'imMFexO1');
    Dann solltest du es jetzt ändern und nicht mehr posten.
  11. jo, also der code ist denke ich mal, wenn man ihn "optimiert" noch noch 2/3 oder 1/2 so lang wie jetzt... denn deine ganzen if&#180;s sind schon sehr unübersichtlich...



    wenn das wirklich dein pwd is, solltest du das änder, und hier rausnehmen...

    ps: vllt sieht das ja auch n mod, der das ma editiern kann...

    mfg
  12. Autor dieses Themas

    i*******r

    kann mir bitte einer den code schnell so umschreiben,das er wie ob schon gefragt guckt, ob der User in Homepage http://.... eingetippt hat oda www... .
    Den ich blick dort nicht mehr durch.

    habe dat PS geändert. habe aber nichts interessantes in der Datenbank.

    Schon mal danke an alle, die hier bereits reingeschrieben haben.
  13. t*****b

    if (strstr($eingabe,"http://"))
    {
    echo "http:// steht drin";
    }
    else
    {
    echo "http// steht NICHT drin";
    }


    Sucht (irgendwo!) in der Zeichenkette nach http://
    Da bei einer Webseite http:// als erstes angegeben wird, kannst du auch die ersten 7 Zeichen überprüfen, ob diese = "http://" sind.

    Beitrag geaendert: 4.4.2007 23:46:26 von trueweb
  14. Autor dieses Themas

    i*******r

    irgendwie geht dat net:
    <form enctype='multipart/form-data' action='#' method='post'>
    <font face='Verdana'>
    <input type='hidden' name='MAX_FILE_SIZE' value='3000000'>
    </font>
    <b>
    Vorname:<input type="text" name="vorname" size="25">  <br>
    Nachname:<input type="text" name="nachname" size="25">  <br>
    E-Mail:<input type="text" name="email" size="25">  <br>
    Homepage:<input type="text" name="homepage" size="25">  <br>
    
    <font size='1'>Dateigröße: max. 3MB erlaubt sind: *.gif | *.jpg | *.png</font></b><font size='2'><br>
    </font>Datei:<input name='userfile' type='file' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6' size='20'><font size='2'>
    </font>
    </select><font size='2'> </font>
    
    
    <br><input type='submit' name='senden' value='upload' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6'></form>
    
    <?php
    
    // Zuerst bauen wir eine Verbindung zur Datenbank auf
    
    $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', '***')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');
    
    mysql_select_db('db?71899?1') or die ('Die Datenbank existiert nicht.');
    
    $data = $_FILES['userfile']['name']; // Variable für Filename
    $kategorie = $_POST['kategorie']; // Variable für Kategorie
    $vorname = addslashes($vorname);
    $nachname = addslashes($nachname);
    $email = addslashes($email);
    $homepage = addslashes($homepage);
    
    // Ab jetzt fängt die Spamüberprüfung an, damit es keine doppelten Einträge gibt
    
    if (preg_match('!^http://!i',$homepage)) {
    $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', '***')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');
    
    mysql_select_db('db?71899?1')
    or die ('Die Datenbank existiert nicht.');
    
    mysql_query("INSERT INTO uploadbilder (homepage) VALUE('$homepage')");
    
    
    }
    else
    {
    $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', '***')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');
    
    mysql_select_db('db?71899?1')
    or die ('Die Datenbank existiert nicht.');
    
    mysql_query("INSERT INTO uploadbilder (homepage) VALUE(http://'$homepage')");
    }
    
    
    
     if ($vorname == '' && 'upload' == $_POST['senden']) {
    echo 'Bitte geben Sie ihren Vornamen ein.' ;
    } else
    {
    if ($nachname == '' && 'upload' == $_POST['senden']) {
    
    echo 'Bitte geben Sie ihren Nachnamen ein.';
     } else {
    
    
    if ($data=='')
    {
    $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', '***')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');
    
    mysql_select_db('db?71899?1')
    or die ('Die Datenbank existiert nicht.');
    
    mysql_query("INSERT INTO uploadbilder (bild,vorname, nachname, email) VALUE('keines.gif' ,'$vorname' ,'$nachname' ,'$email')");
    
    }
    
    else
    {
    
    if (file_exists ("uploadbilder/$data")) {
    echo 'Diese Datei existiert bereits. Bitte benennen Sie die Datei um!' ;
    }
    else
    {
    
    
    //Deklaration der gültigen typen - Hier könnt ihr weitere hinzufügen
    $mimearray = array('image/gif');
    
    //Upload verzeichnis
    $uploaddir = 'uploadbilder/';
    //Prüfen ob Formular gesendet wurde
    if($_POST['senden']==true){
    // Prüfung auf Gültigkeit des Vordeklarierten MimeTyps
    if(in_array($_FILES['userfile']['type'],$mimearray))
    {
    // dateiupload
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
    print 'Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:n';
    print '<br>';
    print 'Name: '.$_FILES['userfile']['name'].'<br>';
    print 'Größe: '.$_FILES['userfile']['size'].'<br>';
    print 'Typ: '.$_FILES['userfile']['type'].'<br>';
    
    
    
    
    $eintrag = "INSERT INTO uploadbilder (bild,vorname,nachname)
    VALUES ('$data' ,'$vorname' ,'$nachname')";
    
    $eintragen = mysql_query($eintrag);
    if($eintragen == true)
    {
    echo 'Eintrag erfolgreich in die Datenbank eingetragen';
    }
    }else{
    // Fehler beim Dateiupload
    print 'Fehler beim Dateiupload';
    }
    }
    else
    {
    //Fehlermeldung wenn Datei nicht den vordeklarierten MimeTypes entspricht
    print $_FILES['userfile']['name'].' - '.$_FILES['userfile']['type'].' <br>ist nicht für den Upload gestatet';
    }
    }
    }
    }
    }
    }
    ?>



    immer noch http://itak4ever.lima-city.de/upload.php

    Beitrag geaendert: 5.4.2007 10:13:06 von itak4ever
  15. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    Was geht net?

    Ich habe übrigens mal versucht, deinen Code zu kürzen:

    Da waren auch noch ein paar andere Fehler drin:

    Es heißt nicht "INSERT INTO ... VAULE ..." sondern "INSERT INTO ... VALUES ...".

    Du brauchst auch nicht vor jedem mysql_query() eine neue MySQL-Verbindung aufzubauen. Das reicht, wenn du das einmal machst.

    Außerdem frage ich mich immernoch, ob es nicht eigentlich
    $vorname = addslashes($_POST['vorname']);
    anstatt von
    $vorname = addslashes($vorname);
    heißen müsste.

    <form enctype='multipart/form-data' action='#' method='post'>
    <font face='Verdana'>
    <input type='hidden' name='MAX_FILE_SIZE' value='3000000'>
    </font>
    <b>
    Vorname:<input type='text' name='vorname' size='25'>  <br>
    Nachname:<input type='text' name='nachname' size='25'>  <br>
    E-Mail:<input type='text' name='email' size='25'>  <br>
    Homepage:<input type='text' name='homepage' size='25'>  <br>
    <font size='1'>Dateigröße: max. 3MB erlaubt sind: *.gif | *.jpg | *.png</font></b><font size='2'><br>
    </font>Datei:<input name='userfile' type='file' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6' size='20'><font size='2'>
    </font>
    </select><font size='2'> </font>
    
    
    <br><input type='submit' name='senden' value='upload' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6'></form>
    
    <?php
    
    // Zuerst bauen wir eine Verbindung zur Datenbank auf
    $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', '***')
    or die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');
    mysql_select_db('db?71899?1') or die ('Die Datenbank existiert nicht.');
    
    $data = $_FILES['userfile']['name']; // Variable für Filename
    $kategorie = $_POST['kategorie']; // Variable für Kategorie
    $vorname = addslashes($vorname);
    $nachname = addslashes($nachname);
    $email = addslashes($email);
    $homepage = addslashes($homepage);
    
    // Ab jetzt fängt die Spamüberprüfung an, damit es keine doppelten Einträge gibt
    if (preg_match('!^http://!i',$homepage)) {
      mysql_query('INSERT INTO uploadbilder (homepage) VALUES (\''.$homepage.'\')');
    } else {
      mysql_query('INSERT INTO uploadbilder (homepage) VALUES (\'http://'.$homepage.'\')');
    }
    
    if ($vorname == '' && 'upload' == $_POST['senden']) {
      echo 'Bitte geben Sie ihren Vornamen ein.' ;
    } elseif ($nachname == '' && 'upload' == $_POST['senden']) {
      echo 'Bitte geben Sie ihren Nachnamen ein.';
    } elseif ($data=='') {
      mysql_query('INSERT INTO uploadbilder (bild,vorname, nachname, email) VALUES (\'keines.gif\',\''.$vorname.'\',\''.$nachname.'\',\''.$email.'\')');
    } elseif (file_exists ('uploadbilder/'.$data)) {
      echo 'Diese Datei existiert bereits. Bitte benennen Sie die Datei um!' ;
    } else {
      //Deklaration der gültigen typen - Hier könnt ihr weitere hinzufügen
      $mimearray = array('image/gif');
      //Upload verzeichnis
      $uploaddir = 'uploadbilder/';
      //Prüfen ob Formular gesendet wurde
      if($_POST['senden']) {
        // Prüfung auf Gültigkeit des Vordeklarierten MimeTyps
        if(in_array($_FILES['userfile']['type'],$mimearray)) {
          // dateiupload
          if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
            print 'Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:n';
            print '<br>';
            print 'Name: '.$_FILES['userfile']['name'].'<br>';
            print 'Größe: '.$_FILES['userfile']['size'].'<br>';
            print 'Typ: '.$_FILES['userfile']['type'].'<br>';
            $eintrag = 'INSERT INTO uploadbilder (bild,vorname,nachname) VALUES (\''.$data.'\',\''.$vorname.'\',\''.$nachname.'\')';
            $eintragen = mysql_query($eintrag);
            if ($eintragen) {
              echo 'Eintrag erfolgreich in die Datenbank eingetragen';
            }
          } else {
            // Fehler beim Dateiupload
            print 'Fehler beim Dateiupload';
          }
        } else {
          //Fehlermeldung wenn Datei nicht den vordeklarierten MimeTypes entspricht
          print $_FILES['userfile']['name'].' - '.$_FILES['userfile']['type'].' <br>ist nicht für den Upload gestatet';
        }
      }
    }
    ?>


    Beitrag geaendert: 5.4.2007 10:37:39 von sandrock-jonas

    Beitrag geaendert: 5.4.2007 11:08:11 von sandrock-jonas
  16. Autor dieses Themas

    i*******r

    hallo,
    ich habe den Code von sandrock-jonas mal unter http://itak4ever.lima-city.de/upload1.php hochgeladen. Doch es kommt dann der Fehler:

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/webpages/lima-city/itak4ever/html/upload1.php on line 34


  17. Also in dem ganzen Script sind so viel Fehler drinne, grausam...
    Teilweise soll er Datenbankeinträge machen, auch wenn hinterher noch irgendein Fehler auftritt. Somit würden sehr viele dummy-Einträge stattfinden, was nur unnötig Belastung ist. Und außerdem reicht es auch einmal eine Datenbankverbindung aufzubauen.
    Hab das ganze Ding mal genommen und ein "klein" wenig umgeschrieben. Getestet ist es nicht, aber es sollte im Groben so gehen.

    <?
    if(!isset($_POST['senden']))
    {
    ?>
    <form enctype='multipart/form-data' action='#' method='post'> 
    <input type='hidden' name='MAX_FILE_SIZE' value='3000000'> 
    <b> 
    Vorname:<input type='text' name='vorname' size='25'>  <br> 
    Nachname:<input type='text' name='nachname' size='25'>  <br> 
    E-Mail:<input type='text' name='email' size='25'>  <br> 
    Homepage:<input type='text' name='homepage' size='25'>  <br> 
    <font size='1'>Dateigröße: max. 3MB erlaubt sind: *.gif | *.jpg | *.png</font></b>
    Datei:<input name='userfile' type='file' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6' size='20'><br>
    <input type='submit' name='senden' value='upload' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6'>
    </form> 
    <?php
    }else{ 
     $data = $_FILES['userfile']['name'];
     $vorname = addslashes($_POST['vorname']); 
     $nachname = addslashes($_POST['nachname']); 
     $email = addslashes($_POST['email']); 
     $homepage = addslashes($_POST['homepage']);
     $error=''; // error ist am Anfang leer
     
     //Deklaration der gültigen typen - Hier könnt ihr weitere hinzufügen 
     $mimearray = array('image/gif','image/jpeg','image/png'); 
    
     //Upload verzeichnis 
     $uploaddir = 'uploadbilder/'; 
    
     // Zuerst bauen wir eine Verbindung zur Datenbank auf 
     $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', '***') OR die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch'); 
     mysql_select_db('db?71899?1') or die ('Die Datenbank existiert nicht.'); 
    
     // Ab jetzt fängt die Spamüberprüfung an, damit es keine doppelten Einträge gibt 
     if(!preg_match('!^http://!i',$homepage) && $homepage!='')
     {
      $hompage='http://'.$hompage;
     } 
    
     if ($vorname == '') //wenn vorname leer
     { 
      $error.= 'Bitte geben Sie ihren Vornamen ein.<br>' ; 
     }
     if ($nachname == '') //wenn Nachname leer
     { 
      $error.= 'Bitte geben Sie ihren Nachnamen ein.<br>'; 
     }
     if($email=='')
     {
      $error.='Bitte email-Adresse angeben';
     }
    
     if ($data!='') //wenn bilddatei angegeben ist
     { 
      if (file_exists ('uploadbilder/'.$data)) // ist bilddatei schon vorhanden?
      { 
       $error.= 'Diese Datei existiert bereits. Bitte benennen Sie die Datei um!<br>' ; 
      }elseif(!in_array($_FILES['userfile']['type'],$mimearray)){ //ist der dateityp erlaubt?
       $error.= $_FILES['userfile']['name'].' - '.$_FILES['userfile']['type'].' ist nicht für den Upload gestatet.<br>';
      }else{ //wenn alles passt, name des bildes in neue variable
       $datei_name=$data['userfile'['name'];
      }
     }else{ //wenn kein bild angegeben ist
      $datei_name='keines.gif';
     }
     
     if($error!='') // ist error immernoch leer?
     {
      echo $error; //wenn nicht error ausgeben
     }else{
      // sonst dateiupload 
      if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name']))
      { 
       print 'Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:n'; 
       print '<br>'; 
       print 'Name: '.$_FILES['userfile']['name'].'<br>'; 
       print 'Größe: '.$_FILES['userfile']['size'].'<br>'; 
       print 'Typ: '.$_FILES['userfile']['type'].'<br>'; 
      }else{
       die('Fehler beim Dateiupload'); 
      }
      // und eintrag in datenbank
      $eintrag = 'INSERT INTO uploadbilder (hompage,bild,vorname,nachname,email) 
    VALUES ('.$homepage.','.$datei_name.','.$vorname.','.$nachname.',.'$email.')'; 
      $eintragen = mysql_query($eintrag); 
      if($eintragen == true) 
      { 
       echo 'Eintrag erfolgreich in die Datenbank eingetragen.'; 
      }else{ 
       die('Fehler beim Eintragen in die Datenbank');
      }
     }
    }
    ?>
  18. Autor dieses Themas

    i*******r

    Danke für die Code. Dies ist der letzt von tct. Fehlerfrei ist er nicht. in Zeil 65 (sry 62)hast du ]vergessen. Aber jetzt zeigt er an
    Parse error: syntax error, unexpected T_VARIABLE in /home/webpages/lima-city/itak4ever/html/upload2.php on line 85
    <?
    if(!isset($_POST['senden']))
    {
    ?>
    <form enctype='multipart/form-data' action='#' method='post'>
    <input type='hidden' name='MAX_FILE_SIZE' value='3000000'>
    <b>
    Vorname:<input type='text' name='vorname' size='25'>  <br>
    Nachname:<input type='text' name='nachname' size='25'>  <br>
    E-Mail:<input type='text' name='email' size='25'>  <br>
    Homepage:<input type='text' name='homepage' size='25'>  <br>
    <font size='1'>Dateigröße: max. 3MB erlaubt sind: *.gif | *.jpg | *.png</font></b>
    Datei:<input name='userfile' type='file' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6' size='20'><br>
    <input type='submit' name='senden' value='upload' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6'>
    </form>
    <?php
    }else{
     $data = $_FILES['userfile']['name'];
     $vorname = addslashes($_POST['vorname']);
     $nachname = addslashes($_POST['nachname']);
     $email = addslashes($_POST['email']);
     $homepage = addslashes($_POST['homepage']);
     $error=''; // error ist am Anfang leer
    
     //Deklaration der gültigen typen - Hier könnt ihr weitere hinzufügen
     $mimearray = array('image/gif','image/jpeg','image/png');
    
     //Upload verzeichnis
     $uploaddir = 'uploadbilder/';
    
     // Zuerst bauen wir eine Verbindung zur Datenbank auf
     $verbindung = mysql_connect ('mysql.lima-city.de','USER71899', '***') OR die ('keine Verbindung möglich. Benutzername oder Passwort sind falsch');
     mysql_select_db('db?71899?1') or die ('Die Datenbank existiert nicht.');
    
     // Ab jetzt fängt die Spamüberprüfung an, damit es keine doppelten Einträge gibt
     if(!preg_match('!^http://!i',$homepage) && $homepage!='')
     {
      $hompage='http://'.$hompage;
     }
    
     if ($vorname == '') //wenn vorname leer
     {
      $error.= 'Bitte geben Sie ihren Vornamen ein.<br>' ;
     }
     if ($nachname == '') //wenn Nachname leer
     {
      $error.= 'Bitte geben Sie ihren Nachnamen ein.<br>';
     }
     if($email=='')
     {
      $error.='Bitte email-Adresse angeben';
     }
    
     if ($data!='') //wenn bilddatei angegeben ist
     {
      if (file_exists ('uploadbilder/'.$data)) // ist bilddatei schon vorhanden?
      {
       $error.= 'Diese Datei existiert bereits. Bitte benennen Sie die Datei um!<br>' ;
      }elseif(!in_array($_FILES['userfile']['type'],$mimearray)){ //ist der dateityp erlaubt?
       $error.= $_FILES['userfile']['name'].' - '.$_FILES['userfile']['type'].' ist nicht für den Upload gestatet.<br>';
      }else{ //wenn alles passt, name des bildes in neue variable
       $datei_name=$data['userfile']['name'];
      }
     }else{ //wenn kein bild angegeben ist
      $datei_name='keines.gif';
     }
    
     if($error!='') // ist error immernoch leer?
     {
      echo $error; //wenn nicht error ausgeben
     }else{
      // sonst dateiupload
      if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name']))
      {
       print 'Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:n';
       print '<br>';
       print 'Name: '.$_FILES['userfile']['name'].'<br>';
       print 'Größe: '.$_FILES['userfile']['size'].'<br>';
       print 'Typ: '.$_FILES['userfile']['type'].'<br>';
      }else{
       die('Fehler beim Dateiupload');
      }
      // und eintrag in datenbank
      $eintrag = 'INSERT INTO uploadbilder (hompage,bild,vorname,nachname,email)
    VALUES ('.$homepage.','.$datei_name.','.$vorname.','.$nachname.',.'$email.')';
      $eintragen = mysql_query($eintrag);
      if($eintragen == true)
      {
       echo 'Eintrag erfolgreich in die Datenbank eingetragen.';
      }else{
       die('Fehler beim Eintragen in die Datenbank');
      }
     }
    }
    ?>

    steht unter http://itak4ever.lima-city.de/upload2.php

    Beitrag geaendert: 5.4.2007 11:17:53 von itak4ever
  19. Ich denke mal es ist diese Zeile gemeint:
    <?
    $eintrag = 'INSERT INTO uploadbilder (hompage,bild,vorname,nachname,email) 
    VALUES ('.$homepage.','.$datei_name.','.$vorname.','.$nachname.',.'$email.')'; 
    ?>


    Ersetzte sie mal durch
    <?
    $eintrag = "INSERT INTO uploadbilder (hompage,bild,vorname,nachname,email) 
    VALUES ('$homepage','$datei_name','$vorname','$nachname','$email')";
    ?>

    Wobei das alleresrte Anfürungszeichen, also vor INSERT, ein doppeltes ist und das allerletzte auch, also vor ;
  20. Autor dieses Themas

    i*******r

    DAnke
    habe dat gemacht.
    Aber wenn man keine DAtei hochladen möchte, soll in die Spalte keines.gif eingetragen werden und jetzt kommt nur Dateiupload fehlgeschlagen.

    Beitrag geaendert: 5.4.2007 11:38:44 von itak4ever
  21. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    Bei Lima-City werden doppelte Anführungszeichen ersetzt. Deshalb musst du (wie tct schon schrieb) entweder das erste und das letzte Anführungszeichen durch doppelte Anführungszeichen ersetzen oder einige Anführungszeichen "escapen":

    <?php
    $eintrag = 'INSERT INTO uploadbilder (hompage,bild,vorname,nachname,email)  
    VALUES (\''.$homepage.'\',\''.$datei_name.'\',\''.$vorname.'\',\''.$nachname.'\',\''.$email.'\')';
    ?>


    edit: dann hat sich das ja wohl schon geklärt.

    Beitrag geaendert: 5.4.2007 11:39:23 von sandrock-jonas
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!