• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Eintrag in die DB

Status
Für weitere Antworten geschlossen.

gollum1990

Neues Mitglied
Hallo Leute,

Ich habe jetzt ein stinknormales html-formular, da kann man sich eintragen für eine
Linkliste,

Url
Urlname
Name
Beschreibung



Aber mann kann in dieses Formular alles hindschreiben was man will, man kanns lehr lassen und es funktionert, wie kann ich eine
überprüfung ein bauen???

(form.html)


Code:
<form action="form2.php" method="post">
Ihre Url: <input type="text" name="url">

Inhr Urlname <input type="text" name="urlname">

und so weiter, denn rest könnt ihr euch denken!!!

Jetzt mal die (Form2.php)
[php:1:3db642fdb2]<?
$verbindung = mysql_connect ("localhost",
"root", "xxxxxxxxx")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");

mysql_select_db("linkliste")
or die ("Die Datenbank existiert nicht.");

$url = $HTTP_POST_VARS["url"];
$urlname = $HTTP_POST_VARS["urlname"];
$name = $HTTP_POST_VARS["name"];
$beschreibung = $HTTP_POST_VARS["beschreibung"];

$eintrag = "INSERT INTO links (url, urlname, name,
beschreibung) VALUES ('$url', '$urlname',
'$name', '$beschreibung')";

$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "<font color='green'>Eintrag war erfolgreich</font>";
}
else
{
echo "<font color='red'>Fehler beim Speichern</font>";
}


?>[/php:1:3db642fdb2]
 
du kannst das mirt javascript oder mit if machen....

also
[php:1:d123ec20af]
<?
if($url != ''){
//Anweisung
}
else{
//Fehlermeldung
}
?>
[/php:1:d123ec20af]
 
kommt drauf an auf was du die gesendeten inhalte überprüfen möchtest oO
wenn du nur nicht möchtest, dass sie leer sind... einfach ne if-abfrage (:

[php:1:94e18d1658]<?php
if (!empty($url) && !empty($urlname) && !empty($name) && !empty($beschreibung) ) {
$eintrag = "INSERT INTO links (url, urlname, name, beschreibung) VALUES ('$url', '$urlname', '$name', '$beschreibung')";
} else {
echo "es müssen alle formularfelder ausgefüllt sein bla.";
}
?>[/php:1:94e18d1658]
 
@mou if ist keine sprache und dein code ist dank short tags leider unverwertbar.

@cOenesthesia auf die blosse gefahr von MYSQL injection haettest du ihn aber hinweisen koennen ;)
-> ausserdem waere ein die() etc vieleicht besser wenn irgendwann später noch ein query($eintrag) kommt ;)
Weiterhin wäre eine OR verknuefung vmtl schneller

@gollum fuer $HTTP_POST_VARS benutzt du bitte $_POST -> die sind uralt und werden nicht mehr ueberall unterstuetzt

[php:1:4e49644785]
<?php
if(empty($_POST['url']))
trigger_error('URL muss ausgefuellt werden', E_USER_ERROR);
[......]
$eintrag = 'INSERT INTO links (url, urlname, name, beschreibung) VALUES ('\' . mysql_real_escape_string($_POST['url']) .'\' , \'' . mysql_real_escape_string($_POST['urlname']) .'\' , \'' . mysql_real_escape_string($_POST['name']) .'\' , \'' . mysql_real_escape_string($_POST['beschreibung']) .'\')";
mysql_query($eintrag, $verbindung) OR trigger_error(mysql_error(), E_USER_ERROR);
[/php:1:4e49644785]
z.b. ungefaehr so.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben