Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Tutorials und FAQ (https://www.gegen-bilderklau.net/board.php?boardid=45)
----- [PHP & MySQL] Automatisches Eintragen mit MySQL (https://www.gegen-bilderklau.net/thread.php?threadid=183166)


Geschrieben von Leila am 19.01.2015 um 15:27:

 

pack um alle $_POST['xyz'] mal nen mysql_real_escape_string() drum, also
php:
1:
$xyz mysql_real_escape_string($_POST['xyz']);

Dann sonst werden Eingaben mit ' und " und so nicht ordentlich verarbeitet, außerdem kann dir jeder, der nen bisschen mehr Ahnung und kreative Energie hat, die Datenbank zerlegen Augenzwinkern

Für später im Insert-Into-Befehl würde ich ne Stringverkettung einsetzen, also
php:
1:
$var "INSERT INTO ... VALUES('".$var1."', '".$var2."', ...)";


Das machts weniger fehleranfällig Augenzwinkern

Bekommst du denn ne Fehlermeldung geworfen oder passiert einfach gar nichts?



Geschrieben von BabyHanah am 19.01.2015 um 16:11:

 

Also ich hab das jetzt so gemacht:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
<?php
  $name mysql_real_escape_string($_POST['name']);
  $alterpferd mysql_real_escape_string($_POST['alterpferd']);
  $geschlecht mysql_real_escape_string($_POST['geschlecht']);
  $schwerpunkt mysql_real_escape_string($_POST['schwerpunkt']);
  $charakter mysql_real_escape_string($_POST['charakter']); 
  $dressur mysql_real_escape_string($_POST['dressur']);
  $springen mysql_real_escape_string($_POST['springen']);
  $bild1 mysql_real_escape_string($_POST['bild1']); 
  $bild2 mysql_real_escape_string($_POST['bild2']); 
  $bild3 mysql_real_escape_string($_POST['bild3']);
  $bildnachweisname mysql_real_escape_string($_POST['bildnachweisname']); 
  $bildnachweislink mysql_real_escape_string($_POST['bildnachweislink']);  
  $papapapa mysql_real_escape_string($_POST['papapapa']); 
  $papa mysql_real_escape_string($_POST['papa']);
  $papamama mysql_real_escape_string($_POST['papamama']);
  $mamapapa mysql_real_escape_string($_POST['mamapapa']);
  $mama mysql_real_escape_string($_POST['mama']);
  $mamamama mysql_real_escape_string($_POST['mamamama']);       

if(preg_match("/[^a-zA-ZäöüÄÖÜß[:space:]]/"$name)) { $fehler1 "<br><FONT color=blue>Der Benutzername darf nur aus Buchstaben 
und Leerzeichen bestehen.</FONT>"; }

include("db.php");
$pferde mysql_query("SELECT * pferde WHERE Name = '$name'");
if(@mysql_num_rows($namen) > 0) { $fehler1 "<br><FONT color=blue>Der gewünschte Pferdename ist schon vergeben.</FONT>"; }

if(!$name) { $fehler1 "<br><FONT color=blue>Bitte einen Benutzernamen angeben.</FONT>"; }

if(!$alterpferd) { $fehler2 "<br><FONT color=blue>Du hast kein Alter angegeben!</FONT>"; }


if(($fehler1) OR ($fehler2)) {
  include("pferdeintragen.php"); } else {
  $eintrag "INSERT INTO `pferde` ( `id` , `name` , `alterpferd` , `geschlecht` , `schwerpunkt` , `charakter` , `dressur` , `springen`  , `bild1` , `bild1` , `bild2` , `bild3` , `bildnachweisname`
 , `bildnachweislink` , `papapapa` , `papa` , `papamama` , `mamapapa` , `mama` , `mamamama`) VALUES ('".."', '".$name."', 
  '".$alterpferd."' , '".$geschlecht."', '".$schwerpunkt."' , '".$charakter."' , '".$dressur."' , '".$springen."' , '".$bild1."' , '".$bild2."' , '".$bild3."' , '".$bildnachweisname."' , 
'".$bildnachweislink."' , '".$papapapa."' , '".$papa."' , '".$papamama."' , '".$mamapapa."' , '".$mama."' , '".$mamamama."')";
  $eintragen mysql_query($eintrag); 
  if($eintragen == "true") {
    echo "Dein Pferd wurde erfolgreich eingetragen!"; } else {
    echo "<FONT color=red>Leider konnten deine Daten nicht eingetragen werden, probier es bitte erneut</FONT>";
    include("pferdeintragen.php"); }
  }
?>


Fehlermeldung nun:

Parse error: syntax error, unexpected '.' in /users/cherryblossom/www/pferdeintragen2.php on line 38

Er beschwert sich über die Punkte .. unglücklich



Geschrieben von Morgan Girl am 19.01.2015 um 20:55:

 

Direkt der erste EIntrag nach VALUES macht denk ich Probleme. Einfach '' schreiben und das ".." weglassen. Das machst du nur um Variablen, also die Wörter mit dem $ davor.
Versuch mal was dann passiert.



Geschrieben von BabyHanah am 19.01.2015 um 21:14:

 

Also bei
php:
1:
'".$papa."'
die Punkte alle weg?



Geschrieben von Leila am 20.01.2015 um 09:21:

 

nein, bloß nicht... Ganz am Anfang hast einmal '".."' stehen, da kanns ruhig bei '' bleiben, denn da baust du ja keine Variable dazwischen. kann sein, dass er deswegen meckert Augenzwinkern



Geschrieben von BabyHanah am 20.01.2015 um 09:27:

 

Ach du meinst da wo die id hin soll smile
PS: Habe es rausgenommen nun kommt:
Parse error: syntax error, unexpected '", '"' (T_CONSTANT_ENCAPSED_STRING) in /users/cherryblossom/www/pferdeintragen2.php on line 38



Geschrieben von Leila am 20.01.2015 um 12:48:

 

hast du die id in deiner DB als auto_increment angegeben? dann kannst die id beim eintragen weglassen, weil sie automatisch gesetzt wird



Geschrieben von BabyHanah am 20.01.2015 um 14:33:

 

Access denied for user ''@'localhost' (using password: NO) & A link to the server could not be established



Geschrieben von Nanni am 20.01.2015 um 20:33:

 

edit: Vergiss es, ich war blind. Sicher, dass die db.php-Datei richtig ist? Dort würd ich nochmal wegen Fehler gucken und schauen ob alle Daten richtig sind.

Zeile 21 & 22 müsstest du jedenfalls einfach wegnehmen können - wenn es dann Fehler gibt, bitte die Fehlermeldung posten, aber eig sollte da meiner Meinung nach nichts mehr sein...



Geschrieben von BabyHanah am 20.01.2015 um 21:49:

 

Mein Code:
- erledigt -



Geschrieben von BabyHanah am 30.01.2015 um 14:59:

 

So, ich habe mich mal schlau gemacht und endlich eine Lösung gefunden!

Ich habe im Formular diesen ganzen Phpmist weggelassen.

php:
1:
2:
$eintrag "INSERT INTO `Mitglieder` ( `ID` , `Name` , `Alter` , `Email` , `Selbstbeschreibung` ) VALUES ('', '$name', 
  '$alter', '$email', '$selbstbeschreibung')";


Beim unteren Teil nach Values muss man heftig aufpassen, ein Leerzeichen zu viel und es klappt nicht! Auch da habe ich allgemein das mit den Fehlern rausgepackt.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH