Offtopic
palicora Mh das sind ja dürftige Infos?...
Nicht eingeloggt

Registrieren
Login

h4dhunTer
Neuling
kein Rang
- 12.01.08 19:30 Uhr
Solltet Ihr "Wildcard Sub-Domain" haben könnt Ihr ganz einfach und mit wenig Aufwand Subdomains mit PHP und MySQL erstellen.

Tabelle Erstellen
Als erstes müsst Ihr eine Tabelle erstellen:

Code:
CREATE TABLE `subdomain-php` (
`adresse` TEXT NOT NULL ,
`weiterleitung` TEXT NOT NULL 
) TYPE = MYISAM ;

Adresse ist dabei die Subdomain: *.deinewebdomain.de und in der Weiterleitung kommt dann die Adresse der richtigen Seite.

Config für SQL erstellen
Damit hinterher auch zur Datenbank verbunden wird, erstellen wir eine Config:

config.php
Code:
<?php 
#config.php 

$CONFIG[0]="localhost";  # Datenbankserver 
$CONFIG[1]="user";  # Datenbankuser 
$CONFIG[2]="passwort";  # Datenbankpass 
$CONFIG[3]="datenbank";  # Datenbank 

$Verbindung=mysql_connect($CONFIG[0],$CONFIG[1],$CONFIG[2]); 
mysql_select_db($CONFIG[3],$Verbindung); 
?>


Abfrage der Subdomain
Solltet Ihr "Wildcard Sub-Domain" haben, werden alle Adressen: *.deinewebdomain.de auf deine Hauptseite (Index) geleitet. Das heiße, dass der Code für die Subdomain in die Datei index.php gehört.
Ganz nach oben muss die Abfrage:

index.php
Code:
<?php 
#index.php 

include "config.php"

$domain "deinewebdomain.de"#Deine Domain 
$subdomain $_SERVER['HTTP_HOST']; 
$subdomain eregi_replace(".".$domain""$subdomain); 
$subdomain eregi_replace("www."""$subdomain); 
$subdomain strtolower($subdomain); 

if(
$subdomain=="www" OR $subdomain==$domain){ 
    
# Hier kommt nun dein Inhalt der normalen Domain. 
    # Also alles was sonst auf der Index Seite von dir ist 
}else{ 

  
$sql "SELECT * FROM subdomain-php WHERE adresse='".$subdomain."'";  
  
$abfrage mysql_query($sql) OR die("Konnte Datenbank nicht benutzen.<br>Fehlermeldung: ".mysql_error()); 
  
$anzahl=mysql_affected_rows(); 
  while(
$daten mysql_fetch_assoc($abfrage)){ 
  
$weiterleitung $daten['weiterleitung']; 
  } 

  if(
$anzahl>0){ 
    
header('Location: '.$weiterleitung); 
  }else{ 
    echo 
"Diese Subdomain existiert nicht!"
  } 

?>

Als erstes wird die Datei "config.php" eingefügt. Nun bestimmen wir die Domain und PHP teilt die Domain auf.
Wir prüfen ob die Subdomain www oder die eigene Domain ist. Da drunter fügt Ihr euren eigenen Inhalt ein. Sollte die Subdomain nicht www sein oder die eigene Domain, prüfen wir die Datenbank ob die Subdomain eingefügt wurde. Wenn sie vorhanden ist, wird man weitergeleitet, wenn nicht gibt er den Error: "Diese Subdomain existiert nicht!" aus.

Soweit der Code und die Tabelle. Bei Bedarf könnt Ihr noch ein kleinen Admin bereich anlegen, um Subdomains hinzuzufügen.

Adminbereich (optional)
Hier der Code für den Adminbereich. Ich glaube das sich das selber erklärt:

Code:
<?php 
# admin.php 

include "config.php"

if(
$_POST['submit']=="true"){ 

$name $_POST['name']; 
$weiter $_POST['weiter']; 

$sql "INSERT INTO user (adresse,weiterleitung) VALUES ('$name','$weiter')"
$Ergebnis=mysql_query($sql); 

if(
$Ergebnis){ 
  echo 
"Subdomain <b>".$name."</b> eingefügt!"
  echo 

<form action="admin.php" method="post"> 
<input type="hidden" name="submit" value="true"> 
<table width="100%"> 
 <tr> 
   <td>Subdomain</td><td><input type="text" name="name" value=""></td> 
 </tr> 
 <tr> 
   <td>Weiterleitung</td><td><input type="text" name="weiter" value=""></td> 
 </tr> 
 <tr> 
   <td><input type="submit" value="Anmelden" id="submit"></td></tr> 
</table> 
</form>'

}else{ 
  echo 
"Error!"


}else{ 
  echo 

  <form action="admin.php" method="post"> 
  <input type="hidden" name="submit" value="true"> 
  <table width="100%"> 
   <tr> 
     <td>Subdomain</td><td><input type="text" name="name" value=""></td> 
   </tr> 
   <tr> 
     <td>Weiterleitung</td><td><input type="text" name="weiter" value=""></td> 
   </tr> 
   <tr> 
     <td><input type="submit" value="Anmelden" id="submit"></td></tr> 
  </table> 
  </form>'


?>

Das wars von mir, viel Spass damit und leute keine Angst, der Code ist wirklich von mir /:-)

d3zemb3r
Neuling

- 06.03.08 12:39 Uhr
cooles tut, ich werde mal was coden und unter anderem thread schreiben, wo man den Usern auch eun Verzeichniss bieten kann, wo die domain rauf geht wo die per Dateimanager was hochladen können


David
Moderator

- 13.03.08 15:27 Uhr
geht das???
bei mir kommt nur:
Code:
Konnte Datenbank nicht benutzen.
Fehlermeldung: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-php WHERE adresse='d-d-system.bplaced.net'' at line 1

und jetzt?

palicora
Moderator

- 13.03.08 15:54 Uhr
des hast du 100% nicht gecodet


"Unsauberes Programmieren wird zu einer Kunst! Man könnte es als den Impressionismus der Informatik bezeichnen!"

dasch
Ehrenmitglied

- 14.03.08 10:07 Uhr
@the noob,
soweit ich weiß, unterstütz bplaced nicht die Wildcard Sub-Domain

@ palicora
wenn er sagt das er es hat, wiso nicht, und so extremst schwirieg ist es auch wieder nicht?


- OUT OF BUISNESS -
Dreamweaver an den Nagel gehängt
palicora
Moderator

- 14.03.08 13:47 Uhr
Kuckt ma

was is daran so schwer einfach zu sagen des man es von da un da hat


"Unsauberes Programmieren wird zu einer Kunst! Man könnte es als den Impressionismus der Informatik bezeichnen!"

dasch
Ehrenmitglied

- 14.03.08 10:41 Uhr
- clsoed -
und user hat verwarnung erhalten!


- OUT OF BUISNESS -
Dreamweaver an den Nagel gehängt
Geschlossen


©2011 Itschi.Net