Hey,
ok vielen Dank. Werde eines deiner Beispiele aufjedenfall anwenden und mehr darüber lesen.
Stef
Hey,
ok vielen Dank. Werde eines deiner Beispiele aufjedenfall anwenden und mehr darüber lesen.
Stef
Hey zusammen,
ich sitze grad am double opt in- Verfahren, bisher nur für die Registration.
Nun habe ich schon gecodet, das die daten in datenbank gespeichert werden. Und das eine E-Mail geschickt wird mit der Hashid, welche bei jedem user nach der registration gespeichert wird.
Nun möchte ich abfragen : Wo benutzername .... ist select hashid.
Und nun diese hashid mit der id vom Laden des Aktivierungslinks (als Parameter) zu vergleichen. Da ich sowas nochnie gemacht habe. Wende ich mich an euch.
Mein aktueller Stand:
Registrier-Seite:
<?php
session_start();
$vorname = $nachname = $email = $tag = $monat = $jahr = $benutzername = $password = $password_gehahst = $password_wiederholung = null; // alle vars auf null setzen
$fehler = array();
if(isset($_POST['submitted']))
{
$vorname = trim($_POST['vorname']);
$nachname = trim($_POST['nachname']);
$email = trim($_POST['email']);
//Geburtsdatum
$tag = $_POST['tage'];
$monat = $_POST['monate'];
$jahr = $_POST['jahre'];
//Benutzername
$benutzername = trim($_POST['benutzername']);
//Password
$password = $_POST['password'];
$password_wiederholung = $_POST['password_wiederholung'];
$password_gehahst = password_hash($password_gehahst, PASSWORD_DEFAULT);
/***********************Die ganzen errors**************************/
if(empty($vorname)){
$fehler[] = '<p class="fehler">Bitte geben sie ihren Vornamen an!</p>';
}
if(empty($nachname)){
$fehler[] = '<p class="fehler">Bitte geben sie ihren Nachnamen an!</p>';
}
if(empty($email)){
$fehler[] = '<p class="fehler">Bitte geben sie ihre E-Mail-Adresse an!</p>';
} else if (filter_var($email , FILTER_VALIDATE_EMAIL) === false){
$fehler[] = '<p class="fehler">Bitte geben sie eine gültige E-Mail-Adresse an!</p>';
}
if(empty($tag) or empty($monat) or empty($jahr)){
$fehler[] = '<p class="fehler">Bitte geben sie ihr Geburtsdatum an!</p>';
}
if(empty($benutzername)){
$fehler[] = '<p class="fehler">Bitte geben sie ihren Benutzernamen an!</p>';
}
if(empty($password)){
$fehler[] = '<p class="fehler">Bitte geben sie ihr Password an!</p>';
}
if(empty($password_wiederholung)){
$fehler[] = '<p class="fehler">Bitte wiederholen sie ihr Passwords!</p>';
} else if($password_wiederholung !== $password){
$fehler[] = '<p class="fehler">Das wiederholte Password stimmt nicht überein!</p>';
}
if(count($fehler) === 0 ){
$hashid_email = sha1(mt_rand(10000,99999).time().$email); // hash mit sha1 methode aus email und zufälligen Zahlen
$bestaetigungslink = 'http://apple231.bplaced.net/Registriervorgang/registration_weiterleitung.php?' . $hashid_email ;
$empfaenger = $email;
// Betreff
$betreff = 'Registration bei StefHome';
// Nachricht
$nachricht = '
<html>
<head>
<meta charset="UTF-8">
<title>Registration</title>
</head>
<body>
<p>Sehr geehrte/r ' . $vorname .' ' . $nachname . ' ,<br>
Sie haben sich bei uns neu regestriert. Bitte bestätigen sie ihre Registration mit dem Link den sie unten sehen:
</p>
<a href="'.$bestaetigungslink.'">'.$bestaetigungslink.'</a>
<p>Wir freuen uns auf sie und bis bald.</p>
<p>Mfg,<br>Stef Webdesign</p>
</body>
</html>
';
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
// zusätzliche Header
$header .= 'From: StefWebdesign' . "\r\n";
$header .= 'Bcc: Webdesign@webdesign.de' . "\r\n";
// verschicke die E-Mail
$emailversand = mail($empfaenger, $betreff, $nachricht, $header);
if(!$emailversand)
{
$fail = "Etwas ist fehlgeschlagen";
exit;
} else
{
$ausgabe = "<p class='true'>Vielen Dank für die Registration";
$_SESSION['benutzername'] = $benutzername;
}
/*
header('Location: registration_weiterleitung.php');
<--- Erst nach datenbankverarbeitung und überprüfung ob hash id übereinstimmt ---->
*/
try{
$pdo = new PDO('mysql:host=localhost;
dbname=apple231', //der Host und dbname
'****', // User-Name
'****', //Password
array(
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
// gibt an, dass man die Rückgabe eines Datensatzes von Methoden als Objekt erhaltet
PDO::ATTR_EMULATE_PREPARES => false,
// sagt, dass man nicht nur emulieren wollen, sondern PreparedStatements nutzen wollen
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
// PDO veranlassen , Exceptions zu werfen, die man abfangt und darauf reagiert
)
);
} catch(Exception $e)
{
exit('Fehler beim verbinden:' . $e->getMessage());
}
$statement = $pdo->prepare("INSERT INTO Registrierdaten(vorname,nachname,email,tag,monat,jahr,benutzername,password,hashid)
VALUES(:vorname,:nachname,:email,:tag,:monat,:jahr,:benutzername,:password,:hashid)" );
$result = $statement->execute(
array(
':vorname' => $vorname,
':nachname' => $nachname,
':email' => $email,
':tag' => $tag,
':monat' => $monat,
':jahr' => $jahr,
':benutzername' => $benutzername,
':password' => $password_gehahst,
':hashid' => $hashid_email,
)
);
if(!$result){
var_dump($statement->errorInfo());
}
}
}
?>
Alles anzeigen
Und die registration_weiterleitung.php
wo ich nun die id welche beim klick auf aktivierungslink gesendet wird mit der hashid in der db vergleichen.
<?php
session_start();
$fehler = array();
if(!isset($_SESSION['benutzername']))
{
die ("Bitte erst <a href='registrieren.php'>hier</a> regestrieren! ");
exit;
}
$user = $_SESSION['benutzername'];
if ( !empty($_SERVER['QUERY_STRING']) ) {
$check = explode( '$', $_SERVER['QUERY_STRING'] );
try{
$pdo = new PDO('mysql:host=localhost;
dbname=apple231', //der Host und dbname
'****', // User-Name
'****', //Password
array(
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
// gibt an, dass man die Rückgabe eines Datensatzes von Methoden als Objekt erhaltet
PDO::ATTR_EMULATE_PREPARES => false,
// sagt, dass man nicht nur emulieren wollen, sondern PreparedStatements nutzen wollen
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
// PDO veranlassen , Exceptions zu werfen, die man abfangt und darauf reagiert
)
);
} catch(Exception $e)
{
exit('Fehler beim verbinden:' . $e->getMessage());
}
$statement = $pdo->prepare("SELECT hashid FROM Registrierdaten WHERE benutzername = ".$user." ");
$result = $statement->execute(
);
if($result === $check)
{
$antwort = "Dankeschön. Hier gehts zu ihrem <a href='#'Profil</a>.";
} else if ($result !== $check){
$fehler[] = "Fehlerhafte Registration. Bitte registrieren sie sich nochmal!<br><a href='registrieren.php'>Hier registrieren</a>";
}
} else if ( empty($_SERVER['QUERY_STRING']) ) {
$fehler[] = "Kein Wert vorhanden. Bitte registrieren sie sich nochmal!<br><a href='registrieren.php'>Hier registrieren</a>";
}
?>
Alles anzeigen
Dabei wird immer diese Exception geworfen:
Fatal error: Uncaught exception 'PDOException' with message
'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'rere' in 'where
clause'' in
/users/apple231/www/Registriervorgang/registration_weiterleitung.php:38
Stack trace: #0
/users/apple231/www/Registriervorgang/registration_weiterleitung.php(3[Blockierte Grafik: http://www.forum-hilfe.de/images/smilies/icon_cool.gif]: PDO->prepare('SELECT hashid F...') #1 {main} thrown in /users/apple231/www/Registriervorgang/registration_weiterleitung.php on line 38
Freue mich auf eure Hilfe und wieder was neues zu lernen.
Das heißt, das die
spalte nicht gefunden worden ist. Ich sag selektiere/wähle die spalte
hashid aus wo benutzername ist $user. ($user ist der Session
Benutzername dieser wiederum ist der Benutzername der eingegeben worden
ist.) Aber wie kann es sein ?
Nochwas:
Habe jetzt mittels fetchColumn(); probiert den inhalt auszugeben, aber das klappt auch nicht warum denn das ?
<?php
session_start();
$fehler = array();
if(!isset($_SESSION['benutzername']))
{
die ("Bitte erst <a href='registrieren.php'>hier</a> regestrieren! ");
exit;
}
$user = $_SESSION['benutzername'];
if ( !empty($_SERVER['QUERY_STRING']) ) {
$check = explode( '$', $_SERVER['QUERY_STRING'] );
try{
$pdo = new PDO('mysql:host=localhost;
dbname=apple231', //der Host und dbname
'apple231', // User-Name
'rt12!?1234', //Password
array(
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
// gibt an, dass man die Rückgabe eines Datensatzes von Methoden als Objekt erhaltet
PDO::ATTR_EMULATE_PREPARES => false,
// sagt, dass man nicht nur emulieren wollen, sondern PreparedStatements nutzen wollen
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
// PDO veranlassen , Exceptions zu werfen, die man abfangt und darauf reagiert
)
);
} catch(Exception $e)
{
exit('Fehler beim verbinden:' . $e->getMessage());
}
$statement = $pdo->prepare('SELECT hashid FROM Registrierdaten WHERE benutzername = "'.$user.'" ');
$result = $statement->fetchColumn();
$ausgabe = 'Hashid lautet: ' . $result . '<br>';
}
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="msvalidate.01" content="53A0A1A36CF935B55216766839090AE3" >
<link href="registration.css" rel="stylesheet">
<title> Bestätigung der Registration</title>
<style type="text/css">
.php-ausgabe
{
color: yellow;
margin-bottom: 10px;
}
</style>
</head>
<body>
<div class="rahmen">
<?php
if(isset($user) && !empty($user)){
echo "<p class='php-ausgabe'>Hallo " . $user ."</p>";
}
?>
<div class="border-text">
<p>
<?php
/* if(isset($antwort) && count($fehler) === 0)
{
echo $antwort;
} else if (isset($fehler) && count($fehler) > 0){
implode('<br>',$fehler) ;
}*/
if(isset($ausgabe) && !empty($ausgabe) )
{
echo $ausgabe;
}
?>
</p>
</div>
</div>
</body>
</html>
Alles anzeigen
Stef
Hey,
ups.. so ein kleiner aber fataler Fehler.
Ok. Und wie kann man denn einen zufälligen hash erstellen ?
Mit ner function welche buchstaben vermischt und dann diese zufällig gewählten Buchstaben dann zu hashen ?
Gruß,
Stef
Hey,
ich möchte wenn sich jemand registriert, dass eine email gesendet wird mit dem bestätigungslink (zusammengesetzt aus überprüfseite und spezielle hash id). Nun wenn ich die Variable als Verlinkung in den a-tag reinschreib in meinem mail text dann wird dies nimmer als link erkannt.. ka. warum. Und wenn ich durch den . selektor die hash id so hinzufüg, dann wird diese nichtmal beachtet.... Warum isn des so ?
Mein aktueller Stand dabei ist:
if(count($fehler) === 0 ){
$empfaenger = $email;
// Betreff
$betreff = 'Registration bei StefHome';
// Nachricht
$nachricht = '
<html>
<head>
<meta charset="UTF-8">
<title>Registration</title>
</head>
<body>
<p>Sehr geehrte/r ' . $vorname .' ' . $nachname . ' ,<br>
Sie haben sich bei uns neu regestriert. Bitte bestätigen sie ihre Registration mit dem Link den sie unten sehen:
</p>
<a href="'.$bestaetigungslink.'">'.$bestaetigungslink.'</a>
<p>Wir freuen uns auf sie und bis bald.</p>
<p>Mfg,<br>Stef Webdesign</p>
</body>
</html>
';
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
// zusätzliche Header
$header .= 'From: StefWebdesign' . "\r\n";
$header .= 'Bcc: Webdesign@webdesign.de' . "\r\n";
// verschicke die E-Mail
$emailversand = mail($empfaenger, $betreff, $nachricht, $header);
if(!$emailversand)
{
$fail = "Etwas ist fehlgeschlagen";
exit;
} else
{
$ausgabe = "<p class='true'>Vielen Dank für die Registration";
$_SESSION['benutzername'] = $benutzername;
}
/*
header('Location: registration_weiterleitung.php');
<--- Erst nach datenbankverarbeitung und überprüfung ob hash id übereinstimmt ---->
*/
$hashid_email = hash('sha256',implode('$', [$email, $password_gehahst])); // hash mit sha256 methode aus email und gehahstes password
$bestaetigungslink = 'http://apple231.bplaced.net/Registriervorgang/registration_weiterleitung.php?' . $hashid_email ;
Alles anzeigen
Zeile 22: Der Link. Wie schaffe ich es das die variable als linkziel und verlinkungstext angezeigt wird ?
Freu mich auf eure Hilfe.
Stef
Hey,
ich würde dir dabei helfen, wenns für dich kein Problem ist.
Zu deinem Wunsch. Von dem halte ich ehrlich gesagt nicht viel. Denn wie willst du den kopierten code verstehen können wenn du html und css noch nicht so gut kannst. Da kopierst du dann einfach paar stücke/teile zusammen die am ende villt. doch nicht zusammenpassen.
Deine Homepage so zu gestalten wie du es haben möchtest ist auch relativ einfach. Und am besten man versteht den code um dann später ,falls du z.b. an nem monat weniger seitenbesucher hast oder über mehrere Monate oder du doch das Design noch ändern willst, das du weißt was du da machst und wie es geht. Weil z.b. wenn jetzt weniger Besucher kommen ist die Zielgruppe nicht so getroffen worden.
Was ich dir vorschlage zu schauen ist dieses Video vom Chef des Forums (Axel Pratzner) : https://www.youtube.com/watch?v=Ct7_ufRyKzU
Gruß,
Stef
Achso. Ja da muss man echt aufpassen. Danke für die Verdeutlichung des Problems.
Gruß,
Stef
Hey,
Ja, ok. Gut zu wissen. Und danke für die ausführliche Erklärung.
Wenn ich nun aber z.b. möchte das nach dem login dann oben rechts im dropdownmenu z.b. der Name des Useres drin steht.
Nach deiner sicht soll man dies nicht machen:
Zitat$string = 'Hallo ' . htmlspecialchars($username) . '!' . // HIER hat jemand was vergessen!
// sowas passiert, wenn man dort eigtl noch was schreiben/anhängen wollte,
// das dann aber vergessen hat.
// (sowas also gleich gar nicht angewöhnen =)
$password = $_POST['password'];
Wie würdest du es dann machen ? Würdest du den Namen dann aus der Datenbank laden und dann ausgeben ?
Gruß,
Stef
Hey,
kanst du bitte das nächste mal den code hier im Forum posten. Danke.
Zu deinem Problem:
Bei den Sessions. Du musst jede php seite wo session aktiv sein soll
am anfang schreiben, denn wenn du es nur auf der connect php machst dann ist ja nur da session aktiv und nicht auf login.php.
Dann würde ich erstmal die $_POST[''] angaben in variablen speichern. Ist viel übersichtlicher und besser.
Beim mysql_querry hast du ein r zu viel es sollte so sein : mysql_query.
Dann würde ich dir noch raten es gleich über PDO zu machen.
Beim connect.php verwende bitte die try/catch methode:
Kann z.b. so aussehen dann :
<?php
try{
$pdo = new PDO('mysql:host=deinhost;dbname=datenbankname', 'user','password'); //dies stellt dann ne verbindung her
} catch(Exception $e){
echo $e -> getMessage(); //wirft dann die exception (Fehlermeldung)
}
?>
Hast du denn eigentlich schon die daten abgespeichert in der datenbank ?
Stef
Hey,
Aso Ok.
Ich meine:
Z.b wenn ich jetzt das Password nach der eingabe erst in eine variable speicher und danach dieses erst hashe, dann ist es doch nicht so sicher ?
Ja da hast du recht. Hab nicht drauf geachtet.
Ich kann dieses Thema hier nicht finden. Wo ist es denn ?
Gruß,
Stef
Hey zusammen,
undzwar ich erstelle grad ein regestrierformular und da ist es ja wichtig passwörter zu hashen.
ich habe es bis jetzt so aufgebaut in php:
<?php
$vorname = $nachname = $email = $tag = $monat = $jahr = $benutzername = $password = $password_gehahst = $password_wiederholung = $password_gehahst_wiederholung = null; // alle vars auf null setzen
if(isset($_POST['submitted']))
{
$vorname = trim($_POST['vorname']);
$nachname = trim($_POST['nachname']);
$email = trim($_POST['email']);
//Geburtsdatum
$tag = trim($_POST['tage']);
$monat = trim($_POST['monate']);
$jahr = trim($_POST['jahre']);
//Benutzername
$benutzername = trim($_POST['benutzername']);
//Password
$password = trim($_POST['password']);
$password_gehahst = password_hash($password, PASSWORD_DEFAULT); //Password hashing zum schutz
$password_wiederholung = trim($_POST['password_wiederholung']);
$password_gehahst_wiederholung = password_hash($password_wiederholung, PASSWORD_DEFAULT);
var_dump($password_gehahst);
var_dump($password_gehahst_wiederholung);
$errors = array_filter (
//filterung der arrays mit callback funktion (bool) = true/false
array_map (
//ebenso soart durchlaufen/filtern der arrays mit callback funktion welche man returnen kann und außerhalb nutzen kann
function($daten){
// wenn $daten[0] nicht exsestiert , dann $daten[0] ist leer, sonst daten[0] ist leer
$fehler = !isset($daten[0]) ? (empty($daten[0])) : (empty($daten[0]));
//hier wenn $fehler da sind sind diese $daten[1] (die strings) sonst null
return $fehler ? $daten[1] : null;
},
[
[$vorname , '<p class="fehler">Bitte geben sie ihren Vornamen an!</p>'],
[$nachname , '<p class="fehler">Bitte geben sie ihren Nachnamen an!</p>'],
[$email , '<p class="fehler">Bitte geben sie ihre E-Mail-Adresse an!</p>'],
[$benutzername , '<p class="fehler">Bitte geben sie ihren Benutzernamen an!</p>'],
[$password , '<p class="fehler">Bitte geben sie ihr Password an!</p>'],
[$password_wiederholung , '<p class="fehler">Bitte wiederholen sie die Angabe ihres Passwords!</p>']
//hier hat man daten[0] & daten[1]
]
)
);
}
?>
Alles anzeigen
Welche Hash-Algorythmen würdet ihr mir empfehlen von denen : ?
[0] => md2
[1] => md4
[2] => md5
[3] => sha1
[4] => sha224
[5] => sha256
[6] => sha384
[7] => sha512
[8] => ripemd128
[9] => ripemd160
[10] => ripemd256
[11] => ripemd320
[12] => whirlpool
[13] => tiger128,3
[14] => tiger160,3
[15] => tiger192,3
[16] => tiger128,4
[17] => tiger160,4
[18] => tiger192,4
[19] => snefru
[20] => snefru256
[21] => gost
[22] => gost-crypto
[23] => adler32
[24] => crc32
[25] => crc32b
[26] => fnv132
[27] => fnv1a32
[28] => fnv164
[29] => fnv1a64
[30] => joaat
[31] => haval128,3
[32] => haval160,3
[33] => haval192,3
[34] => haval224,3
[35] => haval256,3
[36] => haval128,4
[37] => haval160,4
[38] => haval192,4
[39] => haval224,4
[40] => haval256,4
[41] => haval128,5
[42] => haval160,5
[43] => haval192,5
[44] => haval224,5
[45] => haval256,5
Alles anzeigen
Wenn ich zuerst die eingabe vom password feld im paddword speichere ist
das password ja nicht geschützt oder ? Erst nachdem man es gehahst hat?
Ich würde dann das gehahschte Password in der Datenbank speichern falls alle eingaben stimmen und noch nicht besetzt sind.
Was haltet ihr von meiner Vorgangsweise? Wie würdet ihr es machen ? Mache ich es so richtig ?
Gruß,
Stef
Ok. Danke.
Darum Spamschutz.
Den Spamschutz habe ich ja da beim ankreuzen der radio buttons. Ist die Wahl der Wörter nicht etwas hirnlos ?
Hey,
aso ok. Kann man denn solche irgendwie unterbinden oder ist dies nicht möglich?
filter_var überprüft also nur ob ein @ dabei ist , z.b. www@eee.de , und wenn man aber kein @ angibt dann gibt es die Fehlermeldung aus ?
Und wie sieht es z.b. aus bei einem login system. Wie macht man es, dass der, der sich regestrieren möchte, erst mit einer bekommenen E-Mail sein account aktiviert/erstellt ?
Stef
Hey zusammen,
ich habe ein kleines Kontaktformular erstellt. Nun möchte ich das die email überprüft wird auf deren Richtigkeit.
Z.B. sollen email andressen wie ee@ee.de und solche nicht zugelassen werden. Sondern @gmx.de oder die anderen email-anbieter.
Ich habe es schon mit filter_var ausprobiert es probiert. Var dump gibt mir z.b raus : string(8) "ee@ee.de"
Wie kann man es denn machen ?
Hier mein script:
<?php
// Kurzschreibweise : Variable = WENN ? DANN : SONST;
$name = isset ($_POST['name']) ? $_POST['name'] : null;
$email = isset($_POST['email']) ? $_POST['email'] : null;
$betreff = isset($_POST['betreff']) ? $_POST['betreff'] : null;
$nachricht = isset($_POST['nachricht']) ? $_POST['nachricht'] : null;
//zum Spamschutz
$eingabeUser = isset($_POST['spamschutz']) ? $_POST['spamschutz'] : null;
//zum checken ob formular das 2.te mal aufgerufen worden ist
$fehlerausgeben = isset ($_POST['schonabgesendet']) ? $_POST['schonabgesendet'] : null ;
trim($name);
trim($email);
trim($betreff);
trim($nachricht);
if(empty($name)){
$fehler1 = "<p class='php_errors'>Bitte geben sie ihren Namen an!</p>";
} else{
$fehler1 = null;
}
if(empty($email))
{
$fehler2 = "<p class='php_errors'>Bitte geben sie ihre E-Mail an!</p>";
} else{
$fehler2 = null;
}
if(empty($betreff))
{
$fehler3 = "<p class='php_errors'>Bitte geben sie ihren Betreff an!</p>";
} else{
$fehler3 = null;
}
if(empty($nachricht))
{
$fehler4 = "<p class='php_errors'>Bitte geben sie ihre Nachricht an!</p>";
} else{
$fehler4 = null;
}
$fehler5 = null;
$fehler6 = null;
if(empty($eingabeUser))
{
$fehler5 = "<p class='php_errors'>Bitte kreuzen sie eines der Felder an!</p>";
} else if ($eingabeUser !== "Pferd"){
$fehler6 = "<p class='php_errors'> Sie haben das falsche Kreuz angekreuzt!</p>";
}
if (filter_var($email, FILTER_VALIDATE_EMAIL) !== false)
{
$fehler7 = null;
} else{
$fehler7 = "<p class='php_errors'>Bitte geben sie eine gültige E-Mail-Adresse an!</p>";
}
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
$fehlerarr = array($fehler1,$fehler2,$fehler3,$fehler4,$fehler5,$fehler6,$fehler7);
?>
<head>
<meta charset="utf-8">
<title>Kontaktformular</title>
<link rel="stylesheet" href="kontakformular.css">
</head>
<body>
<div id="kontakt">
<form method="POST" action="kontaktformular.php">
<h2>Kontaktformular</h2>
<label for="name">Ihr Name: </label>
<input type="text" name="name" id="name" value="<?php echo $name ?>"><br>
<label for="email">Ihre E-Mail-Adresse:</label>
<input type="email" name="email" id="email" value="<?php echo $email ?>"><br>
<label for="betreff">Betreff: </label>
<input type="text" name="betreff" id="betreff" value="<?php echo $betreff ?>"><br>
<label for="nachricht">Ihre Nachricht:</label><br>
<textarea name="nachricht" id="nachricht" cols="50" rows="10" value="Hans"></textarea>
<p>Kreuzen sie Bitte den Button an welches ein Tier ist!</p>
<label for="spamschutz">Stein</label>
<input type="radio" name="spamschutz" id="spamschutz" value="Stein">
<br>
<input type="hidden" name="schonabgesendet" value="ja">
<label for="spamschutz">Haare</label>
<input type="radio" name="spamschutz" id="spamschutz" value="Haare"> <br>
<label for="spamschutz">Pferd</label>
<input type="radio" name="spamschutz" id="spamschutz" value="Pferd">
<br><input type="submit" value="Absenden!" name="submitted">
<?php
if(isset($fehlerarr)){
foreach ($fehlerarr as $ausgabe) {
if($fehlerausgeben == "ja"){
echo $ausgabe;
}
}
}
?>
</form>
</div>
</body>
<?php
/*if(empty($name) or empty($email) or empty($betreff) or empty($nachricht) or $eingabeUser !== "Pferd")
{
}
else {
echo "Vielen Dank!";
}*/
?>
Alles anzeigen
Freue mich auf eure Hilfe.
Gruß, Stef
Wie ?
Sind keine koruppte Pfade. Hab die Bilder aus dem Internet.
War es wohl ein joke. ?
Hey,
ich habe nun mal die 3 Bildersources durch Bilder aus Inet ersätzt und nun klappt es.. komisch.
Naja.
Stef
Hey,
ich erkenne keine fehler.
hier ist es nochmal:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Filter über Bildern</title>
<style type="text/css">
img{
filter: grayscale(100%);
-webkit-filter: grayscale(100%);
transition: 1s all ease-in;
}
img:hover{
filter: grayscale(0%);
-webkit-filter: grayscale(0%);
}
</style>
</head>
<body>
<img src="Bilder/adresse.jpg" alt="adresse">
<img src="Bilder/error.jpg" alt="error">
<img src="Bilder/profile.jpg" alt="profile">
</body>
</html>
Alles anzeigen
Hey,
danke. Jetzt funktionierts.
Aber jetzt noch ne frage: Warum werden beim ie nichtma die bilder dargestellt ?
Stef
Hey,
aso ok. Ist auch ne gute idee.
Habe jetzt mal es so gemacht:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Filter über Bildern</title>
<style type="text/css">
img{
filter: grayscale(100);
-webkit-filter: grayscale(100);
transition: 1s all ease-in;
}
img:hover{
filter: grayscale(0);
-webkit-filter: grayscale(0);
}
</style>
</head>
<body>
<img src="Bilder/adresse.jpg" alt="adresse">
<img src="Bilder/error.jpg" alt="error">
<img src="Bilder/profile.jpg" alt="profile">
</body>
</html>
Alles anzeigen
Nun aber wird dies nur in firefox ausgeführt und in chrome passiert nichts. Und im internetexplorer werden nicht mal die bilder wiedergegeben. Und in caniuse steht ja drin google chrome tut es unterstützen.
Habe ja auch diesen Prefix benutzt mit dem es doch eigentlich gehen soll?
Stef
Hey,
aso ok. Danke.
MrMurphy :
ZitatFür solche Effekte gibt es verschiedene Möglichkeiten.
Welche Möglichkeiten gibts denn sonst ?
Stef
Hi,
ja ok. Danke.
stef
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.