[GastForen Programmierung/Entwicklung PHP und MySQL Formular mit Prüfung auf schon vorhandenen Nick

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Formular mit Prüfung auf schon vorhandenen Nick

blindelinse
Beiträge gesamt: 12

29. Jun 2005, 07:37
Beitrag # 1 von 13
Bewertung:
(4387 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen
Kann mir nicht helfen, verstehe es einfach nicht und finden tue ich auch nichts in der Richtung.
Also ich möchte ein Formular wo Leute sich Registrieren können und natürlich soll das ganze in eine DB, und das keine Probleme gibt muss geprüft werden ob der Nick oder Name schon vergeben ist.
Da wo ich hänge, ist bei der prüfung, hat jemand ein Beispiel oder einen Link wo es für einen Anfänger verständlich und anschaulich erklährt ist.
So ein Beispiel wie das Formular hier bei der Registrierung (hilfdirselbst.ch) wäre eine große hilfe.
Danke
X

Formular mit Prüfung auf schon vorhandenen Nick

randy
Beiträge gesamt: 436

29. Jun 2005, 08:48
Beitrag # 2 von 13
Beitrag ID: #174936
Bewertung:
(4381 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mach doch folgendes:

Du nimmst die Daten per GET oder POST und zuallerst machst Du ein SELECT über die DB a la

SELECT * from tab WHERE user ='$_POST['nick']

kommt ein Ergebnis zurück, dann existiert der Nick schon, wenn nicht, dann das Insert.

Um das weiter zu konkretisieren, benötigen wir etwas mehr.


als Antwort auf: [#174931]

Formular mit Prüfung auf schon vorhandenen Nick

blindelinse
Beiträge gesamt: 12

29. Jun 2005, 10:02
Beitrag # 3 von 13
Beitrag ID: #174963
Bewertung:
(4375 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich müsste aber drei Felder pro Datensatz prüfen, wie mache ich das ...
Jetzt einmal muss ich das ausprobieren, danke


als Antwort auf: [#174936]

Formular mit Prüfung auf schon vorhandenen Nick

randy
Beiträge gesamt: 436

29. Jun 2005, 10:21
Beitrag # 4 von 13
Beitrag ID: #174973
Bewertung:
(4370 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
user ='$_POST['nick']' AND feld2='$_POST['feld2']' AND feld3='$_POST['feld3']


als Antwort auf: [#174963]

Formular mit Prüfung auf schon vorhandenen Nick

blindelinse
Beiträge gesamt: 12

29. Jun 2005, 11:20
Beitrag # 5 von 13
Beitrag ID: #174988
Bewertung:
(4368 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke, aber komm mit dem nicht klar, ist für mich nicht verständlich.
Hat vielleicht oder kennt jemand ein Link oder scrip wo man sowas genau nachvollziehen kann wie soetwas funk. evt. mit erklährung.

Es gibt ja haufenweise scripte mit erklährungen aber habe eben nicht eines in so einer Art gefunden, nehme an alle können es ja schon, aber was ist mit denen die gerade anfangen damit?
Naja, wenns nicht anders geht, muss man halt die großen scripte durchstudieren, verzweiflung!!!


als Antwort auf: [#174973]

Formular mit Prüfung auf schon vorhandenen Nick

randy
Beiträge gesamt: 436

29. Jun 2005, 14:25
Beitrag # 6 von 13
Beitrag ID: #175057
Bewertung:
(4347 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
SELECT * from tab WHERE user ='$_POST['nick']' AND feld2='$_POST['feld2']' AND feld3='$_POST['feld3']

Okay wenn Du mehrere Felder hast aus einem Formular die überprüft werden sollen dann funktioniert das wie folgt

Zur Erläuterung
im Formular gibt es ein Feld1 (name="formFeld1") und ein Feld2 (name="formFeld2") und ein Feld3 (name="formFeld3"
in der DB gibt es auch ein Feld1 (Spaltenname DBFeld1) und Feld2...

Jetzt sollen die Formularfelder gegen die DB Felder geprüft werden, das macht man mit einem SELECT und bindet die formFelder mittels $_POST in einen String ein, zur Sicherheite(sql-injection) schreibt man davor addslashes.

$sql= "SELECT * FROM myTabelle WHERE DBFeld1='.addslashes($_POST['formFeld1'])." AND DBFELD2='.addslashes($_POST['formFeld2']).' AND DBFeld3='.addslashes($_POST['formFeld3']).'";

Jetzt kommt der Ramsch mit dem mysq_query($sql);

okay?


als Antwort auf: [#174988]

Formular mit Prüfung auf schon vorhandenen Nick

Pozor
Beiträge gesamt: 892

29. Jun 2005, 17:35
Beitrag # 7 von 13
Beitrag ID: #175116
Bewertung:
(4343 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

verwendet nie die "rohen" Daten die vom Browser kommen!
-> SQL injection

mysql_escape_string() //Strings
intval() //integer
etc.


als Antwort auf: [#175057]

Formular mit Prüfung auf schon vorhandenen Nick

blindelinse
Beiträge gesamt: 12

29. Jun 2005, 20:04
Beitrag # 8 von 13
Beitrag ID: #175156
Bewertung:
(4336 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke erstmal, aber irgendwo habe ich einen Hund drin, bekomme immer die Fehlermeldung:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\apachefriends\xampp\htdocs\filawelt_com\BildVerwaltung\inc\TMPo46gyius60.php on line 3

___1 ZEILE__<?php // name dieses script "personendaten_auslesen.inc.php"
___2 ZEILE__include ("tb_oeffnen.inc.php"); // DB öffnen
___3 ZEILE__$sql="SELECT * FROM tb_name_blindelinse WHERE Name_Nachname='.addslashes($_POST['strNachname']).' AND Name_Vorname='.addslashes($_POST['strVorname']).' AND Name_Zusatz='.addslashes($_POST['strZusatz']).'";
___4 ZEILE__$ergebnis=mysql_query($sql);
___5 ZEILE__?>

<?php // name dieses script "tb_oeffnen.inc.php
/*******/
$con_server = "localhost"; // Adresse des mySQL-Server
$con_user = "root"; // Benutzername
$con_pass = ""; // Passwort
$con_db = "filawelt_2"; // Datenbank
/*******/
$mysql_conn = @mysql_connect($con_server, $con_user, $con_pass);
if ($mysql_conn != TRUE)
{ echo "Es kommte keine Verbindung mit der Datenbank hergestellt werden! Fehlermeldung: <br /><br />".mysql_error();
die;
} mysql_select_db($con_db, $mysql_conn);
?>

<?PHP // name dieses script "personen_neuerror.inc.php
// einlesen von Post´s
$strNachname=htmlentities($_POST['strNachname']);
$strVorname=htmlentities($_POST['strVorname']);
$strZusatz=htmlentities($_POST['strZusatz']);
$strGeburtsdatum=htmlentities($_POST['strGeburtsdatum']);
$strGeburtsort=htmlentities($_POST['strGeburtsort']);
// error auf 0
$intError=0; ?>
<fieldset>
<legend>Neue Person überprüfen</legend>
<form name="input1" id="input1" method="post" action="<?PHP echo($PHP_SELF) ?>">
<label for="strNachname" class="left">Nachname:</label>
<?PHP if ($strNachname!="")
{ echo $strNachname;
?><input name="strNachname" type="hidden" value="<?PHP echo $strNachname; ?>" /><?PHP
}
else
{ $intError=1;
?><input type="text" name="strNachname" align="right" style="background: #ff0000;" /><?PHP
} ?>
<br />
<label for="strVorname" class="left">Vorname:</label>
<?PHP if ($strVorname!="")
{ echo $strVorname;
?><input name="strVorname" type="hidden" value="<?PHP echo $strVorname; ?>" /><?PHP
}
else
{ $intError=1;
?><input type="text" name="strVorname" align="right" style="background: #ff0000;" /><?PHP
} ?>
<br />
<label for="strZusatz" class="left">Zusatz:</label>
<?PHP
___ZEILE__include ("personendaten_auslesen.inc.php");
___ZEILE__if (($strZusatz!="")||($ergebnis=???)) /*******???????*******/
{ echo $strZusatz;
?><input name="strZusatz" type="hidden" value="<?PHP echo $strZusatz; ?>" /><?PHP
}
else
{ $intError=1;
?><input type="text" name="strZusatz" align="right" style="background: #ff0000;" /><?PHP
} ?>
<br />
<label for="strGeburtsdatum" class="left">Geburtsdatum:</label>
<?PHP if ($strGeburtsdatum=="")
{ $strGeburtsdatum=date('d.m.Y');
$intError=1
?><input name="strGeburtsdatum" type="text" size="10" maxlength="10" align="right" value="<?PHP echo $strGeburtsdatum; ?>" style="background: #ff0000;" /><?PHP
}
else
{ $arrDatePart=explode(".", $strGeburtsdatum);
if (checkdate($arrDatePart[1], $arrDatePart[0], $arrDatePart[2]))
{ echo ($strGeburtsdatum);
?><input name="strGeburtsdatum" type="hidden" value="<?PHP echo $strGeburtsdatum; ?>" /><?PHP
}
else
{ ?><input name="strGeburtsdatum" type="text" size="10" maxlength="10" align="right" value="<?PHP echo date('d.m.Y'); ?>" style="background: #ff0000;" /><?PHP
$intError=1;
}
} ?>
(MM.DD.YYYY)<br>
<label for="strGeburtsort" class="left">Geburtsort:</label>
<?PHP
if ($strGeburtsort!="")
{ echo $strGeburtsort;
?><input name="strGeburtsort" type="hidden" value="<?PHP echo $strGeburtsort; ?>" /><?PHP
}
else
{ $intError=1;
?><input type="text" name="strGeburtsort" align="right" style="background: #ff0000;" /><?PHP
}
?>
<br /><br />
<label for="" class="left"></label>
<?PHP if ($intError==1)
{ ?>
<input name="intStep" type="hidden" value="1" />
<?PHP
}
else
{ ?>
<input name="intStep" type="hidden" value="2" />
<?PHP
} ?>
<input name="strAction" type="hidden" value="new" />
<?PHP if ($intError==1)
{ ?>
<input type="submit" name="Submit" value="Berichtigen" class="button" />
<?PHP
}
else
{ ?>
<input type="submit" name="Submit" value="Speichern" class="button" />
<?PHP
} ?>
</form>
</fieldset>


als Antwort auf: [#175116]

Formular mit Prüfung auf schon vorhandenen Nick

Intermedia
Beiträge gesamt: 1287

29. Jun 2005, 20:19
Beitrag # 9 von 13
Beitrag ID: #175163
Bewertung:
(4326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

glaub da ist ein Syntaxfehler, versuchs mal so:

$sql="SELECT * FROM tb_name_blindelinse WHERE Name_Nachname='".addslashes($_POST['strNachname'])."' AND Name_Vorname='".addslashes($_POST['strVorname'])."' AND Name_Zusatz="'.addslashes($_POST['strZusatz']).'";
Hoffe hab da nichts vergessen.;-)

Hier mal ein Beispiel wie es bei mir funktioniert:

$query="SELECT * FROM $int_db_benutzer where handie = '".addslashes($_REQUEST[handy])."' and bn = '".addslashes($_REQUEST[bn])."'";

Zumindest stimmt der Syntax.

Viel Erfolg!

Gruß Sven


als Antwort auf: [#175156]
(Dieser Beitrag wurde von Intermedia am 29. Jun 2005, 20:21 geändert)

Formular mit Prüfung auf schon vorhandenen Nick

blindelinse
Beiträge gesamt: 12

29. Jun 2005, 20:29
Beitrag # 10 von 13
Beitrag ID: #175166
Bewertung:
(4319 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke, und wie sieht das mit den zwei Zeilen aus, ganzer Code ist oben.

___ZEILE__include ("personendaten_auslesen.inc.php");
___ZEILE__if (($strZusatz!="")||($ergebnis=???)) /*******???????*******/

In der zweiten Zeile, keine Ahnung wie ich das schreiben soll!!


als Antwort auf: [#175163]

Formular mit Prüfung auf schon vorhandenen Nick

blindelinse
Beiträge gesamt: 12

29. Jun 2005, 20:44
Beitrag # 11 von 13
Beitrag ID: #175168
Bewertung:
(4314 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das mit den """"" hat hingehaut, die Fehlermeldung ist weg, aber das ander da muss ich mich noch schlau machen, danke.


als Antwort auf: [#175166]

Formular mit Prüfung auf schon vorhandenen Nick

Intermedia
Beiträge gesamt: 1287

29. Jun 2005, 20:51
Beitrag # 12 von 13
Beitrag ID: #175171
Bewertung:
(4307 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Na also, geht doch ;-)

Ich hab nur mal fix über den Code gesehen aber was passiert in der:
___ZEILE__include ("personendaten_auslesen.inc.php");

und was soll in $ergebnis stehen?
___ZEILE__if (($strZusatz!="")||($ergebnis=???)) /*******???????*******/

Hab leider diese Woche keine Zeit mich mal etwas näher damit zu beschäftigen. :-(

Vielleicht fällt hier noch jemanden was dazu ein.

Gruß Sven


als Antwort auf: [#175168]

Formular mit Prüfung auf schon vorhandenen Nick

blindelinse
Beiträge gesamt: 12

29. Jun 2005, 21:06
Beitrag # 13 von 13
Beitrag ID: #175175
Bewertung:
(4306 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Na also, geht doch ;-)

//Ich hab nur mal fix über den Code gesehen aber was passiert in der:
//___ZEILE__include ("personendaten_auslesen.inc.php");

Hier wird der oberste Script eingebunden, da ist auch der vorhin besprochene Code enthalten, keine Ahnung ob ich den an der richtigen stelle eingebunden habe, aber da sollte er spätestens prüfen ob alle drei Felder mit dem gleichen Eintrag, schon vorhanden sind.


//und was soll in $ergebnis stehen?
//___ZEILE__if (($strZusatz!="")||($ergebnis=???)) /*******???????*******/

Und hier sollte das ($ergebnis==wahr) zurückliefern, ansonsten wird es in die DB eingetragen.


als Antwort auf: [#175171]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
18.06.2024

Online
Dienstag, 18. Juni 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow
Veranstaltungen
02.07.2024

Online
Dienstag, 02. Juli 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow