zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden [PHP] Verarbeitung schlägt fehl

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 28.10.2013, 23:59
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 07.07.2013
Beiträge: 11
A13X befindet sich auf einem aufstrebenden Ast
Frage [PHP] Verarbeitung schlägt fehl

Hallo.
Ich glaube ihr habt diesen Satz schon viel zu oft gehört (also ich schon), aber ich habe mich erst seit kurzem mit PHP befasst und nun versuche ich ein Log-in Script zu schreiben.
Angefangen habe ich mit der Registrierung und...
es funktioniert nicht. irgendwie werden sämtliche php-markups ignoriert und ich kann den Fehler nicht finden, weil da keine Fehlermeldung rauskommt.

Ich glaube ich schreibe zur sicherheit die gesamte phpdatei rein:
PHP-Code:
<?php
//die variablen
$mail=$_POST['mail'];
$name=$_POST['rname'];
$mname=$_POST['mname'];
$pass=$_POST['rpass'];
$wpass=$_POST['rwpass'];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE">
<html>
    <head>    
        <title>Registrierung</title>
        <meta name="keywords" content="veso, forum, minecraft, minecraft-server, german, deutsch" />
        <meta name="description" content="Hast du Minecraft und f&uuml;hlst du dich alleine? Dann kannst du bei uns mitmachen! 
        Bei uns hast du ein vielf&auml;ltiges Spielerlebnis: Mit vielen Plugins, viel Platz und ohne Probleme. Veso-MC-Server (Survival-Mode)" />
        <meta name="author" content="Alex Storm" />
        <link href="http://veso.bplaced.net/style.css" rel="stylesheet" type="text/css" media="screen" />
        <link href="http://veso.bplaced.net/images/favicon.ico" rel="shortcut icon" />
    </head>
    <body>
    <div id="titel">Willkommen auf Veso<span class="tool"> Serverstatus: <img src="http://veso.bplaced.net/images/online.png"> <img src="http://veso.bplaced.net/images/offline1.png"></span></div>
<div id="menu">
        <table size="16px">
            <tr>
                <td><img div="img" src="http://veso.bplaced.net/images/start.png" height="50%" /></td>
                <td><font color="#14f0e4">Veso-Forum<br />IP: veso.co</font></td>
                <td><input type="button" onclick="window.location.href = 'http://veso.bplaced.net';" value="Home" class="button"></td>
                <td><input type="button" onclick="window.location.href = 'http://veso.bplaced.net/info';" value="Info" class="button"></td>
                <td><input type="button" onclick="window.location.href = 'http://veso.bplaced.net/regeln';" value="Regeln" class="button"></td>
                <td><input type="button" onclick="window.location.href = 'http://veso.bplaced.net/kontakt';" value="Kontakt" class="button"></td>
                <td><input type="button" onclick="window.location.href = 'http://veso.bplaced.net/about';" value="About" class="button"></td>
                <td><input type="button" onclick="window.location.href = 'http://veso.bplaced.net/LogIn';" value="Login" class="button"></td>
            </tr>
        </table>
    </div>
        <?php
//ist alles ausgefüllt?
            
if($name==="" or $mail==="" or $mname==="" or $pass==="" or $wpass===""){
            echo 
'<div id="titel2">Fehler!</div>
                  <div id="uforen">
                  <p><font color="#AA0000" style="font-weight:bold">Du hast nicht alles ausgefüllt. Versuche es nochmal</font></p><br>
                  <p><font color="#000000" style="font-weight:800">du wirst weitergeleitet...</font></p><br>
                  <script language="JavaScript"> window.setTimeout(function(){window.location.href="../";},2000);</script>
                  <p><font color="#aaaaaa">Du wirst nicht weitergeleitet? dann aktivere Javascript, oder klicke <a href="../" target="_self">hier</a></font></p><br>
                  </div>'
;
            }
//stimmen die Passwörter überein?
            
elseif(strcmp($pass,$wpass)!=0){
                echo 
'<div id="titel2">Fehler!</div>
                  <div id="uforen">
                  <p><font color="#AA0000" style="font-weight:bold">Die Passwörter passen nicht zusammen. Versuche es nochmal</font></p><br>
                  <p><font color="#000000" style="font-weight:800">du wirst weitergeleitet...</font></p><br>
                  <script language="JavaScript"> window.setTimeout(function(){window.location.href="../";},2000);</script>
                  <p><font color="#aaaaaa">Du wirst nicht weitergeleitet? dann aktivere Javascript, oder klicke <a href="../" target="_self">hier</a></font></p><br>
                  </div>'
;
            }
//ist die Mailadresse in ordnung?
            
elseif(filter_var($mailFILTER_VALIDATE_EMAIL)) {
                  echo 
'<div id="titel2">Fehler!</div>
                  <div id="uforen">
                  <p><font color="#AA0000" style="font-weight:bold">Die Email ist ungültig. Versuche es nochmal</font></p><br>
                  <p><font color="#000000" style="font-weight:800">du wirst weitergeleitet...</font></p><br>
                  <script language="JavaScript"> window.setTimeout(function(){window.location.href="../";},2000);</script>
                  <p><font color="#aaaaaa">Du wirst nicht weitergeleitet? dann aktivere Javascript, oder klicke <a href="../" target="_self">hier</a></font></p><br>
                  </div>'
;
            }
            
            else{      
                  
$con=mysqli_connect("localhost","veso","Rodenbach80","veso");
                   if (
mysqli_connect_errno()){
                     echo 
"Failed to connect to MySQL: " mysqli_connect_error();
                     return;
                  }
                  
$result mysqli_query($con,"SELECT * FROM `forum_user`");
                   while(
$row mysqli_fetch_array($result))
                   {
//Gibt es den Benutzernamen schon?
                      
if($row['name']===$name){
                        echo 
'<div id="titel2">Fehler!</div>
                        <div id="uforen">
                         <p><font color="#AA0000" style="font-weight:bold">Der Name ist bereits vergeben. W&auml;hle einen anderen</font></p><br>
                         <p><font color="#000000" style="font-weight:800">du wirst weitergeleitet...</font></p><br>
                         <script language="JavaScript"> window.setTimeout(function(){window.location.href="../";},2000);</script>
                         <p><font color="#aaaaaa">Du wirst nicht weitergeleitet? dann aktivere Javascript, oder klicke <a href="../" target="_self">hier</a></font></p><br>
                           </div>'
;
                    }
//gibt es den Minenamen schon?
                    
elseif($row['MineName']===$mname){
                        echo 
'<div id="titel2">Fehler!</div>
                        <div id="uforen">
                         <p><font color="#AA0000" style="font-weight:bold">Der Minecraftname wird bereits benutzt. Melde dich bei "Anmelden" an</font></p><br>
                         <p><font color="#000000" style="font-weight:800">du wirst weitergeleitet...</font></p><br>
                         <script language="JavaScript"> window.setTimeout(function(){window.location.href="../";},2000);</script>
                         <p><font color="#aaaaaa">Du wirst nicht weitergeleitet? dann aktivere Javascript, oder klicke <a href="../" target="_self">hier</a></font></p><br>
                           </div>'
;
                    }
//wird die Mail bereits benutzt?
                        
elseif($row['mail']===$mail){
                        echo 
'<div id="titel2">Fehler!</div>
                        <div id="uforen">
                         <p><font color="#AA0000" style="font-weight:bold">Die Email-adresse wird bereits benutzt. Melde dich bei "Anmelden" an</font></p><br>
                         <p><font color="#000000" style="font-weight:800">du wirst weitergeleitet...</font></p><br>
                         <script language="JavaScript"> window.setTimeout(function(){window.location.href="../";},2000);</script>
                         <p><font color="#aaaaaa">Du wirst nicht weitergeleitet? dann aktivere Javascript, oder klicke <a href="../" target="_self">hier</a></font></p><br>
                           </div>'
;
                    }
                    else{
//Prüfungen bestanden
                        
echo '<div id="titel2">Registrierung</div>
                        <div id="uforen">
                         <p><font color="#AA0000" style="font-weight:bold">Die Email-adresse wird bereits benutzt. Melde dich bei "Anmelden" an</font></p><br>
                         <p><font color="#000000" style="font-weight:800">du wirst weitergeleitet...</font></p><br>
                         <script language="JavaScript"> window.setTimeout(function(){window.location.href="../";},2000);</script>
                         <p><font color="#aaaaaa">Du wirst nicht weitergeleitet? dann aktivere Javascript, oder klicke <a href="../" target="_self">hier</a></font></p><br>
                           </div>'
;
                        
$mdpass=md5($pass);
                        if(!
file_exists("../../"+md5($mname))){
//erstellen eines Ordners
                         
mkdir("../../"+md5($mname)) or exit("could not create folder");
                        }
                        else{
                        
                        }
//erstellen eines files,der den Benutzer aktiviert
                        
$file=fopen("../../md5($mname)/$name.php","w") or exit("Unable to open file!");
                        
fwrite($file"<?php $con=mysqli_connect('localhost','name','passendes_wort','ich');
                           if (mysqli_connect_errno()){
                             echo 'Failed to connect to MySQL: ' . mysqli_connect_error();
                             return;
                          }
                          
$result = mysqli_query($con,'UPDATE `forum_user` SET `activated`=\"1\" WHERE `name`=\"$name\"');
                          mysqli_close(
$con);
                          unlink(_FILE_);?>"
);
                        
fclose($file);
//Abspeichern des Spielers in der Datenbank
                        
mysqli_query($con,"INSERT INTO `forum_user` (`name`,`MineName`,`mail`,`Passwort`) VALUES('$name','$mname','$mail','$mdpass')");
//mailen
                        
mail($mail,"Registrierung bei VESO","Hallo $name! Du hast dich gerade im Forum von veso angemeldet /num dein Account freizuschalten, klicke auf den folgenden Link: /n http://veso.bplaced.net/"+md5($name)+"/"+$name+".php /n wir wünschen dir noch viel spaß auf dem Server und im Forum/n Das Veso-team","From:" "noreply-registry@veso.co");
                    }
                     }
                  
mysqli_close($con);
                  
            }
        
?>
    </body>
</html>
Vielen Dank schonmal

Geändert von A13X (29.10.2013 um 00:07 Uhr) Grund: immer höflich bleiben...
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 29.10.2013, 00:42
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Schalte die Fehlerausgabe ein, dazu schreibst du ganz als erstes ins PHP Script
PHP-Code:
error_reporting( -);
ini_set('display_errors'TRUE); 
Danach schaust du welche Fehlermeldung kommt.

ZU HTML:
Dein HTML, welches ausgegeben werden soll ist auch kaputt.
Das Element font soll nicht mehr verwendet werden.
Dein Doctype ist nicht korrekt.
Die Zeichencodierung wurde nicht angegeben.
usw.
Nutze mal den Validator

Zu PHP:
Ob eine Variable gesetzt ist prüft man mit isset
Dein Code ist zudem anfällig für SQL-Injections.
Du beachtest den Kontextwexhsel nicht.
Du verstösst gegen das EVA-Prinzip
Du tätigst HTML Ausgaben während du noch mit der Datenbank beschäftigt bist
usw.

Die Liste ist lang.
Wo hast du programmieren gelernt?
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
Sponsored Links
Antwort

Stichwörter
php, script, verareitung

Themen-Optionen
Ansicht

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.

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zentrierung des Layouts schlägt fehl (Matthew James Taylor) Mauswerfer CSS 8 30.08.2011 22:37
<div> Positionierung schlägt fehl flatbean CSS 2 03.09.2007 23:49
Mit Javascript Position ermitteln schlägt im FF fehl fideku (X)HTML 5 02.06.2007 20:38
Positionierung der css imagemap schlägt im IE fehl SanchoP CSS 0 17.09.2006 15:34
Validierung schlägt fehl bei dropdown Menü Pseudo (X)HTML 5 27.06.2006 23:05


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:32 Uhr.