Ich habe ein Szenario, wo ich 2 Tabellen haben d. H. Benutzer und Anfrage und ich bitte den Benutzer ein Formular ausfüllen, in dem er zusammen mit anderen Daten auch E-Mail ausfüllen muss. Jetzt möchte ich, dass, wenn der Benutzer eine E-Mail eingibt, es einfach die Daten in der Benutzer-Tabelle hinzufügen und die letzte Einfüge-ID auswählen und dann die Daten + zuletzt eingefügte ID in Anforderungstabelle speichern und die NachrichtÜberprüfen Sie, ob Daten in der Datenbank mit codenigniter existieren
anzeigen soll Ihr Konto wird erstellt ..
Bis hier ich die Codierung getan haben, aber der Teil, wo ich stecken bin, ist
ich möchte, dass, wenn der Benutzer gibt eine E-Mail, die in Benutzer-Tabelle bereits vorhanden ist, dann ist die code sollte die ID auswählen, die für diese E-Mail vorhanden ist, und sie zusammen mit Formulardaten in der Anforderungstabelle speichern und anzeigen die Nachricht
"Antrag gestellt wird, aber Sie bereits ein Konto haben, melden Sie sich bitte an Scheck furthur Details"
Benutzer Tabelle
id name email
1 sam [email protected]
2 demo_user [email protected]
Anforderungstabelle
id email userid
1 [email protected] 2
Controller
public function submit()
{
$this->form_validation->set_rules('email','Email','trim|required');
if($this->form_validation->run() == FALSE)
{
$erdata = array
(
'error' => validation_errors()
);
$this->session->set_flashdata($erdata);
redirect('home/index');
}
else
{
if($this->user_model->instant_submit())
{
$this->session->set_flashdata('msg','Your account is created');
}
else
{
echo "failed";
}
redirect('home/index');
}
}
Modell
public function instant_submit()
{
$userdata = array(
'email' => $this->input->post('email')
);
$insert_data = $this->db->insert('users', $userdata);
$lastid = $this->db->insert_id();
$reqdata = array(
'email' => $this->input->post('email'),
'userid' => $lastid,
'status'=>'pending'
);
$insert_request = $this->db->insert('request', $reqdata);
return $insert_data;
}
Ansicht
<?php if($this->session->flashdata('msg')): ?>
<?php echo $this->session->flashdata('msg'); ?>
<?php endif; ?>
<?php
$reg_attributes = array('id'=>'form','role'=>"form");
echo form_open('home/submit', $reg_attributes);
?>
<?php
$data = array(
'type'=>'text',
'name'=>'email',
'placeholder'=>'Email',
'class'=>'form-control',
'id'=>'form-email'
);
echo form_input($data);
?>
<?php
$data = array(
'type'=>'submit',
'class'=>'btn-primary',
'name'=>'submit',
'content'=>'Submit!'
);
echo form_button($data);
?>
<?php echo form_close(); ?>
was ist das Problem hier ?? nur nicht einfügen, wenn userdata die Validierung besteht ....Überprüfen Sie, ob ein Benutzer in der Datenbank vorhanden ist, die diesen Daten zugeordnet ist, und handeln Sie entsprechend. –