So nach langem probieren usw. hab ich nun das eintragen feritg, zumindest funktioniert alles und die Überprüfing der Eingaben sollte eigentlich alles verhinder was nicht den Regeln enspricht (von DSA Regelwerk her).
Nur noch mal ein frage, wenn jetzt von einem anderem Server die anfrage ans formular geschickt wird, kann/sollte man die abblocken?
Code: Alles auswählen
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
global $typ, $name, $tpw, $tpf, $tpp, $gewicht, $laenge, $bf, $wv1, $wv2, $beschreibung, $oregel, $regiono, $regioth, $regiobo, $regiofi, $regioel, $regioor, $regiowe, $regioto, $regioha, $regioga, $regiozw, $regiopu, $regiolf, $regiozy, $regiokh, $regiomh, $regioma, $regiosu, $regiomo, $regiowa, $regiopp, $magiw, $zwerg1w, $zwerg2w, $zwergnw, $prevw, $region, $a, $fehler;
if ('POST' == $_SERVER['REQUEST_METHOD'])
{
if(isset($_POST['typ'])) {$typ=$_POST['typ'];}
if(isset($_POST['name'])) {$name=$_POST['name'];}
if(isset($_POST['tpw'])) {$tpw=$_POST['tpw'];}
if(isset($_POST['tpf'])) {$tpf=$_POST['tpf'];}
if(isset($_POST['tpp'])) {$tpp=$_POST['tpp'];}
if(isset($_POST['gewicht'])) {$gewicht=$_POST['gewicht'];}
if(isset($_POST['laenge'])) {$laenge=$_POST['laenge'];}
if(isset($_POST['bf'])) {$bf=$_POST['bf'];}
if(isset($_POST['wv1'])) {$wv1=$_POST['wv1'];}
if(isset($_POST['wv2'])) {$wv2=$_POST['wv2'];}
if(isset($_POST['beschreibung'])) {$beschreibung=$_POST['beschreibung'];}
if(isset($_POST['oregel'])) {$oregel=$_POST['oregel'];}
if(isset($_POST['regiono'])) {$regiono=$_POST['regiono'];}
if(isset($_POST['regioth'])) {$regioth=$_POST['regioth'];}
if(isset($_POST['regiobo'])) {$regiobo=$_POST['regiobo'];}
if(isset($_POST['regiofi'])) {$regiofi=$_POST['regiofi'];}
if(isset($_POST['regioel'])) {$regioel=$_POST['regioel'];}
if(isset($_POST['regioor'])) {$regioor=$_POST['regioor'];}
if(isset($_POST['regiowe'])) {$regiowe=$_POST['regiowe'];}
if(isset($_POST['regioto'])) {$regioto=$_POST['regioto'];}
if(isset($_POST['regioha'])) {$regioha=$_POST['regioha'];}
if(isset($_POST['regioga'])) {$regioga=$_POST['regioga'];}
if(isset($_POST['regiozw'])) {$regiozw=$_POST['regiozw'];}
if(isset($_POST['regiopu'])) {$regiopu=$_POST['regiopu'];}
if(isset($_POST['regiolf'])) {$regiolf=$_POST['regiolf'];}
if(isset($_POST['regiozy'])) {$regiozy=$_POST['regiozy'];}
if(isset($_POST['regiokh'])) {$regiokh=$_POST['regiokh'];}
if(isset($_POST['regiomh'])) {$regiomh=$_POST['regiomh'];}
if(isset($_POST['regioma'])) {$regioma=$_POST['regioma'];}
if(isset($_POST['regiosu'])) {$regiosu=$_POST['regiosu'];}
if(isset($_POST['regiomo'])) {$regiomo=$_POST['regiomo'];}
if(isset($_POST['regiowa'])) {$regiowa=$_POST['regiowa'];}
if(isset($_POST['regiopp'])) {$regiopp=$_POST['regiopp'];}
if(isset($_POST['magiw'])) {$magiw=$_POST['magiw'];}
if(isset($_POST['zwergw'])) {$zwergw=$_POST['zwerg1w'];}
if(isset($_POST['zwergw'])) {$zwergw=$_POST['zwerg2w'];}
if(isset($_POST['zwergw'])) {$zwergw=$_POST['zwergnw'];}
if(isset($_POST['prevw'])) {$prevw=$_POST['prevw'];}
if (empty($typ)) {$fehler = $fehler.'Waffentyp wählen, ';}
if (empty($name)) {$fehler = $fehler.'kein Namen, ';}
if (empty($tpw)){$fehler = $fehler.'Würfelanzahl fehlt, ';}
else{
if(ctype_digit($tpw))
{
if($tpw<10){}
else{$fehler = $fehler.'Würfelanzahl ist zu hoch (max. 9), ';}
}
else{$fehler = $fehler.'Würfelanzahl ist keine Zahl, ';}
}
if($tpf!=NULL)
{
if(is_numeric($tpf))
{
if($tpf<10){}
else{$fehler = $fehler.'Festentrefferpunkten zu hoch (max. 9), ';}
}
else{$fehler = $fehler.'Festentrefferpunkten ist keine Zahl, ';}
}
if ($tpp==NULL){$fehler = $fehler.'keine KK-Zuschlag, ';}
else
{
if(ctype_digit($tpp))
{
if($tpp<25){}
else{$fehler = $fehler.'KK-Zuschlag zu hoch (max. 24), ';}
}
else{$fehler = $fehler.'KK-Zuschlag ist keine Zahl, ';}
}
if ($gewicht==NULL){$fehler = $fehler.'Gewicht fehlt, ';}
else
{
if(ctype_digit($gewicht))
{
if($gewicht<15001){}
else{$fehler = $fehler.'Gewicht zu hoch (max. 15000 Unzen), ';}
}
else{$fehler = $fehler.'Gewicht ist keine Zahl, ';}
}
if ($laenge==NULL){$fehler = $fehler.'Länge fehlt, ';}
else
{
if(ctype_digit($laenge))
{
if($laenge<501){}
else{$fehler = $fehler.'Länge zu groß (max. 500 Halbfinger), ';}
}
else{$fehler = $fehler.'Länge ist keine Zahl, ';}
}
if ($bf==NULL){$fehler = $fehler.'Bruchfaktor fehlt, ';}
else
{
if(ctype_digit($bf))
{
if($bf<10){}
else{$fehler = $fehler.'Bruchfaktor zu hoch (max. 9), ';}
}
else{$fehler = $fehler.'Bruchfaktor ist keine Zahl, ';}
}
if ($wv1==NULL){$fehler = $fehler.'Waffenvergleich fehlt, '; }
else
{
if(ctype_digit($wv1))
{
if($wv1<19){}
else{$fehler = $fehler.'Waffenvergleich zu hoch (max. 18), ';}
}
else{$fehler = $fehler.'Waffenvergleich ist keine Zahl, ';}
}
if ($wv2==NULL){$fehler = $fehler.'Waffenvergleich fehlt, '; }
else
{
if(ctype_digit($wv2))
{
if($wv2<19){}
else{$fehler = $fehler.'Waffenvergleich zu hoch (max. 18), ';}
}
else{$fehler = $fehler.'Waffenvergleich ist keine Zahl, ';}
}
if (empty($beschreibung)){$beschreibung='Keine Beschreibung eingegeben';}
if (empty($oregel)){$oregel='Keine Optionale Regel eingegeben/vorhanden';}
$region=array ($regiono, $regioth, $regiobo, $regiofi, $regioel, $regioor, $regiowe, $regioto, $regioha, $regioga, $regiozw, $regiopu, $regiolf, $regiozy, $regiokh, $regiomh, $regioma, $regiosu, $regiomo, $regiowa, $regiopp);
foreach ($region as $value) { $a = $value+$a;}if ($a==0){$fehler = $fehler.'<br> Bitte Herkunftsregion wählen, bzw. ob es eine Persönliche Waffe handelt.';}
if ($fehler==NULL)
{
$db = new mysqli('localhost', 'dsa', '*************', 'DSA');
if (mysqli_connect_errno()){die('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');}
$sql = 'INSERT INTO dsa_waffen(typ, name, tpw, tpf, tpp, gewicht, laenge, bf, wv1, wv2, beschreibung, oregel, regiono, regioth, regiobo, regiofi, regioel, regioor, regiowe, regioto, regioha, regioga, regiozw, regiopu, regiolf, regiozy, regiokh, regiomh, regioma, regiosu, regiomo, regiowa, regiopp, magiw, zwerg1w, zwerg2w, zwergnw, prevw)
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$statement = $db->prepare($sql);
if (!$statement){die ('Es konnte kein SQL-Query vorbereitet werden: '.$db->error);}
$statement->bind_param('ssiiiiiiiissiiiiiiiiiiiiiiiiiiiiiiiiii', $typ, $name, $tpw, $tpf, $tpp, $gewicht, $laenge, $bf, $wv1, $wv2, $beschreibung, $oregel, $regiono, $regioth, $regiobo, $regiofi, $regioel, $regioor, $regiowe, $regioto, $regioha, $regioga, $regiozw, $regiopu, $regiolf, $regiozy, $regiokh, $regiomh, $regioma, $regiosu, $regiomo, $regiowa, $regiopp, $magiw, $zwerg1w, $zwerg2w, $zwergnw, $prevw);
if (!$statement->execute()){die ('Query konnte nicht ausgeführt werden: '.$statement->error);}
else{echo 'Eintag erfolgreich';}
}
}
function formular_ausgabe($typ, $name, $tpw, $tpf, $tpp, $gewicht, $laenge, $bf, $wv1, $wv2, $beschreibung, $oregel, $regiono, $regioth, $regiobo, $regiofi, $regioel, $regioor, $regiowe, $regioto, $regioha, $regioga, $regiozw, $regiopu, $regiolf, $regiozy, $regiokh, $regiomh, $regioma, $regiosu, $regiomo, $regiowa, $regiopp, $magiw, $zwerg1w, $zwerg2w, $zwergnw, $prevw,$fehler)
{
echo '<html><head></head><body>
<form name="formular" action="waffen.php" method=post>Waffenart:<select name="typ">
<option value="" ';if ($fehler!=NULL){if(empty($typ)){echo'selected';}} echo'>Bitte Waffentyp wälen</option>
<option value="aexte" ';if ($fehler!=NULL){if($typ=='aexte'){echo'selected';}} echo'>Äxte und Beile</option>
<option value="dolche" ';if ($fehler!=NULL){if($typ=='dolche'){echo'selected';}} echo'>Dolche</option>
<option value="infanteriewaffen" ';if ($fehler!=NULL){if($typ=='infanteriewaffen'){echo'selected';}} echo'>Infanteriewaffen</option>
<option value="kettenwaffen" ';if ($fehler!=NULL){if($typ=='kettenwaffen'){echo'selected';}} echo'>Kettenwaffen</option>
<option value="peitsche" ';if ($fehler!=NULL){if($typ=='peitsche'){echo'selected';}} echo'>Peitsche</option>
<option value="schhiebwaffen" ';if ($fehler!=NULL){if($typ=='schhiebwaffen'){echo'selected';}} echo'>Scharfe Hiebwaffen</option>
<option value="schwerter" ';if ($fehler!=NULL){if($typ=='schwerter'){echo'selected';}} echo'>Schwerter</option>
<option value="speere" ';if ($fehler!=NULL){if($typ=='speere'){echo'selected';}} echo'>Speere und Stäbe</option>
<option value="stichwaffen" ';if ($fehler!=NULL){if($typ=='stichwaffen'){echo'selected';}} echo'>Stichwaffen</option>
<option value="sthiebwaffen" ';if ($fehler!=NULL){if($typ=='sthiebwaffen'){echo'selected';}} echo'>Stumpfe Hiebwaffen</option>
<option value="zweihaender" ';if ($fehler!=NULL){if($typ=='zweihaender'){echo'selected';}} echo'>Zweihänder</option>
<option value="lanzen" ';if ($fehler!=NULL){if($typ=='lanzen'){echo'selected';}} echo'>Lanzen</option>
</select>
<p>Name:<input name="name" size="30" value="';if ($fehler!=NULL){echo $name;}echo'">
<p>Trefferpunkte:<input name="tpw" size="1" value="';if ($fehler!=NULL){echo $tpw;}echo'">W+<input name="tpf" size="1" value="';if ($fehler!=NULL){echo $tpf;}echo'">
<p>TP+: KK-<input name="tpp" size="1" value="';if ($fehler!=NULL){echo $tpp;}echo'">
<p>Gewicht:<input name="gewicht" size="5" value="';if ($fehler!=NULL){echo $gewicht;}echo'">
<p>Länge:<input name="laenge" size="3" value="';if ($fehler!=NULL){echo $laenge;}echo'">
<p>Waffenvergleich<input name="wv1" size="1" value="';if ($fehler!=NULL){echo $wv1;}echo'">/<input name="wv2" size="1" value="';if ($fehler!=NULL){echo $wv2;}echo'">
<p>Bruchfaktor:<input name="bf" size="1" value="';if ($fehler!=NULL){echo $bf;}echo'">
<p>Beschreibung:<textarea cols="50" rows="5" name="beschreibung">';if ($fehler!=NULL){echo $beschreibung;}echo'</textarea>
<p>Optionale Regeln:<textarea cols="50" rows="5" name="oregel">';if ($fehler!=NULL){echo $oregel;}echo'</textarea>
<p>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="checkbox" name="regiono" value="1" ';if ($fehler!=NULL){if($regiono==1){echo'checked';}}echo'>Nordlande</td>
<td><input type="checkbox" name="regioth" value="1" ';if ($fehler!=NULL){if($regioth==1){echo'checked';}}echo'>Thorwal</td>
<td><input type="checkbox" name="regiobo" value="1" ';if ($fehler!=NULL){if($regiobo==1){echo'checked';}}echo'>Bornland</td>
<td><input type="checkbox" name="regiofi" value="1" ';if ($fehler!=NULL){if($regiofi==1){echo'checked';}}echo'>Firnelfen Gebiete</td>
<td><input type="checkbox" name="regioel" value="1" ';if ($fehler!=NULL){if($regioel==1){echo'checked';}}echo'>Au- und Waldelfen Gebiete</td>
</tr>
<tr>
<td><input type="checkbox" name="regioor" value="1" ';if ($fehler!=NULL){if($regioor==1){echo'checked';}}echo'>Orkland</td>
<td><input type="checkbox" name="regiowe" value="1" ';if ($fehler!=NULL){if($regiowe==1){echo'checked';}}echo'>Weiden</td>
<td><input type="checkbox" name="regioto" value="1" ';if ($fehler!=NULL){if($regioto==1){echo'checked';}}echo'>Tobrien</td>
<td><input type="checkbox" name="regioha" value="1" ';if ($fehler!=NULL){if($regioha==1){echo'checked';}}echo'>Havena</td>
<td><input type="checkbox" name="regioga" value="1" ';if ($fehler!=NULL){if($regioga==1){echo'checked';}}echo'>Gareth</td>
</tr>
<tr>
<td><input type="checkbox" name="regiozw" value="1" ';if ($fehler!=NULL){if($regiozw==1){echo'checked';}}echo'>Zwergengebiete</td>
<td><input type="checkbox" name="regiopu" value="1" ';if ($fehler!=NULL){if($regiopu==1){echo'checked';}}echo'>Punin</td>
<td><input type="checkbox" name="regiolf" value="1" ';if ($fehler!=NULL){if($regiolf==1){echo'checked';}}echo'>Liebliches Feld</td>
<td><input type="checkbox" name="regiozy" value="1" ';if ($fehler!=NULL){if($regiozy==1){echo'checked';}}echo'>Zyklopeninseln</td>
<td><input type="checkbox" name="regiokh" value="1" ';if ($fehler!=NULL){if($regiokh==1){echo'checked';}}echo'>Khomwüste</td>
</tr>
<tr>
<td><input type="checkbox" name="regiomh" value="1" ';if ($fehler!=NULL){if($regiomh==1){echo'checked';}}echo'>Mhanadistan</td>
<td><input type="checkbox" name="regioma" value="1" ';if ($fehler!=NULL){if($regioma==1){echo'checked';}}echo'>Maraskan</td>
<td><input type="checkbox" name="regiosu" value="1" ';if ($fehler!=NULL){if($regiosu==1){echo'checked';}}echo'>Al\'Anfa</td>
<td><input type="checkbox" name="regiomo" value="1" ';if ($fehler!=NULL){if($regiomo==1){echo'checked';}}echo'>Mohagebiete</td>
<td><input type="checkbox" name="regiowa" value="1" ';if ($fehler!=NULL){if($regiowa==1){echo'checked';}}echo'>Waldinseln</td>
</tr>
<tr>
<td><input type="checkbox" name="regiopp" value="1" ';if ($fehler!=NULL){if($regiopp==1){echo'checked';}}echo'>Persönliche Waffen</td>
<td><input type="checkbox" name="magiw" value="1" ';if ($fehler!=NULL){if($magiw==1){echo'checked';}}echo'>magiwsche Waffen</td>
<td><input type="checkbox" name="zwerg1w" value="1" ';if ($fehler!=NULL){if($zwerg1w==1){echo'checked';}}echo'>Zwergen 1. Handwaffen</td>
<td><input type="checkbox" name="zwerg2w" value="1" ';if ($fehler!=NULL){if($zwerg2w==1){echo'checked';}}echo'>Zwergen 2. Handwaffen</td>
<td><input type="checkbox" name="zwergnw" value="1" ';if ($fehler!=NULL){if($zwergnw==1){echo'checked';}}echo'>Nicht für Zwerge geeignet</td>
</tr>
<tr>
<td><input type="checkbox" name="prevw" value="1" ';if ($fehler!=NULL){if($prevw==1){echo'checked';}}echo'>Previligierten Waffen</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<p><input type="submit" value="Speichern" name="speichern"><input type="reset"></from></body></html>';
}
echo $fehler;
formular_ausgabe($typ, $name, $tpw, $tpf, $tpp, $gewicht, $laenge, $bf, $wv1, $wv2, $beschreibung, $oregel, $regiono, $regioth, $regiobo, $regiofi, $regioel, $regioor, $regiowe, $regioto, $regioha, $regioga, $regiozw, $regiopu, $regiolf, $regiozy, $regiokh, $regiomh, $regioma, $regiosu, $regiomo, $regiowa, $regiopp, $magiw, $zwerg1w, $zwerg2w, $zwergnw, $prevw, $fehler);
?>